专职C++

不能停止的脚步

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  160 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用链接

留言簿(24)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

置顶随笔 #

     摘要: 今年7月以来,终于完全投入到cocos2dx手机项目开发了。真是不容易啊。在这之前,做了很多尝试cocos的各种版本。cocos2dx 2.2.2,quick cocos2dx 2.2.4,cocos2dx 2.2.5,cocos2dx.3.0,cocos2dx 3.1,最终,决定还是使用2.2.2这个版本,我的大多数例子也是基于这个版本的,其它的或多或少总有些问题。特别是这次cocos2dx 2.2.5发布,问题也比较大,作者有些随意了。随机项目中进展,我会把项目遇到的问题,会以笔记的方式列出来,为什么:为我以为再次遇到问题可以快速度解决。  阅读全文
posted @ 2014-07-15 23:37 冬瓜 阅读(2255) | 评论 (2)编辑 收藏

     摘要: 由于开发游戏服务器,常常会用到各种时间判断。这里就在原有的标准C时间函数上做了一些扩展,使他可以方便的用在游戏中。希望能对你有用:)
如果涉及到时候,请在程序启动的时候,先运行tzset()。这个函数会设置时间函数的全局变量timezone。下面有些函数用到了,请注意!
注意:C++Builder使用mktime,有bug!使用C++Builder的同志们要注意!
(更新说明,函数有所调整,更新随笔)
  阅读全文
posted @ 2013-06-27 12:09 冬瓜 阅读(2133) | 评论 (1)编辑 收藏

2019年4月9日 #

有了Modules和协程后,go可以一边凉凉。
原文:https://www.oschina.net/news/104653/201902-kona-iso-c-committee-trip-report-c20?p=3
刚刚结束的 C++ 标准委员会2019春季会议在夏威夷科纳举办,委员会在这次会议中确定了下一个国际标准 C++20 的全部特性,这标志着 C++20 的特性设计工作已完成

按照 C++20 的发布计划,这次会议正是为了冻结 C++20 的特性而举办,进入特性冻结阶段(Feature freeze)意味着所有的功能特性将被冻结,并且不会再加入更多的新特性。

接下来我们看看上周会议确定添加至 C++20 草案的新特性:

协程的加入应该是最大的惊喜了,值得期待!官方还表示,C++20 应该会是一个像 C++11 那样的大版本。

以下的特性已在本次会议或之前的会议上通过了批准,但尚未添加到 C++20 中,因为目前规范仍在编写中。它们有望在2019年7月的科隆会议上被加入,不过由于时间限制,可能无法完成所有工作。

下面的这些特性,早已在之前的会议上通过了批准:

按照计划的发布进度,C++20 预计将于明年夏季推出。


C++20 发布计划

最后,看看 C++ 主要特性的开发进度。

自上次会议以来的变更:

特性状态依赖Current Target (Conservative Estimate)Current Target (Optimistic Estimate)
ConceptsConcepts TS v1 published and merged into C++20 C++20C++20
RangesRanges TS v1 published and merged into C++20ConceptsC++20C++20
ContractsMerged into C++20 C++20C++20
ModulesMerged design approved for C++20 C++20C++20
CoroutinesCoroutines TS v1 published and merged into C++20 C++20C++20
ExecutorsProposed v1 design approved for C++23 C++26C++23
NetworkingNetworking TS v1 publishedExecutorsC++26C++23
ReflectionReflection TS v1 published C++26C++23

名词解释

  • IS = 国际标准。如 C++ 编程语言:C++11, C++14, C++17 等
  • TS = 技术规范。在该阶段中,特性分支处于可使用状态,但尚未被所有厂商实现。如 Coroutines TS v1, Modules TS v1 等。

  • CD = 委员会草案,即 IS/TS 的草案,用于给标准机构进行审查和反馈("beta testing")。

据透露,工具研究小组 SG15 决定创建一个 C++ 生态系统技术报告,该报告将描述新模块化 C++ 中工具(构建系统等)的最佳实践和最新技术。

posted @ 2019-04-09 13:25 冬瓜 阅读(96) | 评论 (0)编辑 收藏

2018年2月6日 #

想当年,我360云盘,还有几个T的电影下载不下来,说好了,给时间让我们备份,结果速度只有100k,还没事老断,不能接着下载
想当年,360搞手机,把酷派的大神收过去,说好的,给我们升级OS,然后就没有下文了
想当年,我编译一个程序,它报一个大大红叉,然后把我编译的程序删除了
想当年,3721这个是周神棍写的
想当年,3721被卖掉后,灭3721的也是它
想当年,3721是软件安装困绑的鼻祖
来三枝香,给360上上
posted @ 2018-02-06 16:25 冬瓜 阅读(792) | 评论 (0)编辑 收藏

2018年2月3日 #

后面会慢慢加东西,哈

https://github.com/zdhsoft

posted @ 2018-02-03 18:25 冬瓜 阅读(654) | 评论 (0)编辑 收藏

2017年12月23日 #

typescript的开发工具

  1. 现在typescript应用越来越多了,它最大的优势,就是可读性强。增加了很多语法检查,减少了代码误错率。
  2. 目前,我接解触的typescript工具主要有vscode, visual stduio 2017webstorm

vscode

它的优点非常突出。首先是免费开源。每月都会有更新,功能越来越强大。用它来开发typescript工程,完全够用。像layabox和erget这两个游戏引擎的ide,就是基于vscode定制的。而且,它本身就是基于node开发,所以算是node的自扩展工具。它是typescript首选工具

visual studio 2017

在我心中,visual studio是宇宙无敌第一工具,能开发很多应用,手机跨平台应用不在话下,还有云应用。但是它太大了,离线英文安装包达30G,如果全部安装的话,我的120G的SSD小硬盘,完全不够用。试着用它开发typescript或js,比vscode强大不少。但是,它太大了,跑不起…

webstorm

这是一个基于instllij的开发工具,功能也很全面,对于typescript还有专门的支持。它是收费的,不便宜。体积也比vscode大很多。显示效果,没有vscode高大尚。

最后,各方考虑,还是推荐vscode

正题

创建node工程

  1. //比如在d:\tmp创建一个目录 ts1
  2. mkdir d:\tmp\ts1
  3. cd d:\tmp\ts1
  4. npm init //按提示完成后,这完成node工程创建

增加typescript支持

  1. //如果没有安装typescript,则用命令 npm install typescript -g 安装
  2. tsc -v //可以看到当前的版本
  3. //在d:\tmp\ts1目录下面,输入
  4. tsc --init
  5. //完成后,就会生成一个tsconfig.json的文件
  6. //最后
  7. code . //用vscode打开当前目录
  8. //在vscode,新建一个index.ts,
  9. //增加下面一行
  10. console.log('hello typescripit');
  11. //在命令行下,输入tsc后,就会得到一个index.js,
  12. //然后输入下面命令
  13. node .
  14. //就可以运行了
  15. //或者在vscode下,按下ctrl_+ shift + b,会弹出任务菜单项,选择Tsc编译,
  16. //然后再配置vscode运行,就可以按F5调试并运行了。

一些问题解决

增加代码提示

好像从vscode 1.8后,就不使用了typing了,改使用@types了。在编写typescript的时候,如果要用到node自带的fs,或http等模块,用import后会有错误提示,那是因为没有安装@types

  1. //在命令提示符下:
  2. npm install @types/node@6.x //我这里用的是node 6.x
  3. //完成后,就可以愉快的使用node的模块的代码提示了

划分目录

默认的情况下,ts和js都是在一起的,生成发布版本的时候,就会有些乱了。所以,将所有生成的代码,放到别的目录。 
打开tsconfig.js 
找到compilerOptions中的outDir,增加./build,这样就会将代码生成到build里面了,然后修改package.json,修改main为build/index.js就可以运行了。 
默认的情况下, 
“allowJs”: true, /* Allow javascript files to be compiled. */ 
表示会把代码js文件,一起编译到build下 
这样代码,就会好多了:)

去除同名js

在没有划分目录的情况下,基于ts生成的js和ts是在同一个目录的,结果在vscode文件列表都会显示,这个vscode设置一下就可以了。 
Vscode->File->首选项->设置 
增产加 “*/.js”: { “when”: “$(basename).ts” },就可以了,下面是具体配置的例子

  1. "files.exclude": {
  2. "**/.git": true,
  3. "**/.svn": true,
  4. "**/.hg": true,
  5. "**/CVS": true,
  6. "**/node_modules":true,
  7. "**/typings":true,
  8. "**/logs":true,
  9. "**/*.js": { "when": "$(basename).ts" },
  10. "**/**.js": { "when": "$(basename).tsx" },
  11. "**/.DS_Store": true
  12. },
posted @ 2017-12-23 12:15 冬瓜 阅读(962) | 评论 (0)编辑 收藏

2017年11月15日 #

有时候会上传一些资源共享,以便他人之需,以前都是1c币的。有些是0c币的,但是最近好像有变化了。

首先,是没有0的选择了,最少2c币起步。

第二,随着被下载的次数增加,需要的c币从几何基数增长

每个c币要1RMB的样子,如我下面的git文件,被下载两次后,就从2c币变成12c币,合计12RMB。

http://download.csdn.net/download/zdhsoft/10042921


csdn这是要干什么呢?抢钱?

posted @ 2017-11-15 14:15 冬瓜 阅读(1130) | 评论 (0)编辑 收藏

2017年8月29日 #

1.Yum包的官方地址:

https://dev.mysql.com/downloads/repo/yum/


选择对应系统的rpm包下载 下载的时候要登录的时候,请注册一个。

 然后,把对应的rpm包下载下来

 

2:然后把rpm包,传到Linux系统,centos 6,7是有区分的,请对系统做相应的操作。

Centos7 :mysql57-community-release-el7-11.noarch.rpm

Centos6:mysql57-community-release-el6-11.noarch.rpm

 

3:解压安装rpm

输入su,进入root模式

输入:rpm -Uvh mysql57-community-release-el7-11.noarch.rpm安装对应的yum

输入:yum repolist all | grep MySQL

 

 

4.安装

安装mysql:yum install mysql-community-server

5.启动

启动mysql:service mysqld start

6.设置密码

注意一下:数据库初始化,必须要重置密码才能使用,也就是使用alter user命令将root密码重置。

 

输入:grep'temporarypassword' /var/log/mysqld.log查看密码

然后输入:mysql-uroot -p连接本地的mysql,提示输入的密码,就是那个上面grep命令显示的

 

进入mysql后,用下面的命令修改密码:

mysql>ALTER USER'root'@'localhost'IDENTIFIED BY'MyNewPass4!';

 

 

 

安装完成后,安装的数据在:/var/lib/mysql

 

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd--state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

 

 

//配置连接方式和权限,注意,要执行flush privileges;否则会连接不了

grantall on *.* to rock@'%' identified by 'NewPassword1' with grant option;

flush privileges;

posted @ 2017-08-29 15:11 冬瓜 阅读(551) | 评论 (0)编辑 收藏

2017年8月25日 #

     摘要: 跟据vscode官网pdf,再编辑Visual Studio Code Keyboard shortcuts for windowsGeneral快捷键说明Ctrl+Shift+P, F1Show Command PaletteCtrl+PQuick OpenCtrl+Shift+NNew window/instanceCtrl+Shift+WClose window/instanceBasic ...  阅读全文
posted @ 2017-08-25 10:31 冬瓜 阅读(1291) | 评论 (0)编辑 收藏

2017年8月19日 #

说明

因为工作需要分析protobuf的数据,google了一下,我个人没有找到合适的,就参考google protobuf文档,写了一个分析工具。这个项目用的是C++Builder XE10.2, win64实现。 
因为是临时定的代码,就写的很随意了,很少注释。

编译工具

C++ Builder XE 10.2

说明

  • 由于C++Builder自带的C++编译不支持C++11,只好选择64位版本。
  • 包中已经带有已经编译好的 prototools.x64.exe , 可以在64位系统下直接运行。
  • 使用的时候,对应的树节点,请点右键,做相应的选择。
  • 注意,要分析数据是原始生成的protobuf数据,保存到文件。

代码地址

https://code.csdn.net/zdhsoft/protobuf_tools/tree/master

posted @ 2017-08-19 21:51 冬瓜 阅读(803) | 评论 (0)编辑 收藏

2017年8月14日 #

简述

在开发过程中,如果代码很整齐的话,那么这个代码就会看起来比较舒服。就像看到一个整洁的屋子一样。 
其中,=,:等对齐,则是一个重要的整洁处理。

Better Align

这个就是vscode的对齐插件,启动vscode,进入插件管理,没有安装的话,搜索一下,很快就有了。然后安装即可。vscode的插件管理真是做的很不错,易用。

使用

安装完成后,就可以使用了 
将光标移到要对齐的代码块,然后安一下ctrl+shift+p,然后输入命令,就立马对齐了。 
如下图演示 
Comma-first sytle 
Comma-first sytle 
Trailing comment 
Trailing comment 
Align within selection 
Align within selection

快捷键设置

如果老是输入命令,确实很麻烦,可以配置快捷键 
我这里配置的是ctrl+alt+= 
如下图:文件->首选项->键盘快捷方式,如下图 
这里写图片描述 
进入之后:在键盘快捷方式编辑中,点击keybindings.json, 
这里写图片描述
进入json设置后 
这里写图片描述
然后我输入ctrl+alt+= 
这里写图片描述
然后输入操作内容

    {
"key": "ctrl+alt+oem_plus",
"command": "wwm.aligncode",
"when": "editorTextFocus && !editorReadonly"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

这里写图片描述 
这样,就可以使用快捷键操作了

posted @ 2017-08-14 12:36 冬瓜 阅读(1413) | 评论 (0)编辑 收藏

2017年8月11日 #

原文地址:http://www.infoq.com/cn/news/2017/08/vs2017-153

从Visual Studio 2017 15.3预览版的发布时间表中可以看出,Microsoft似乎马上要发布这一版本的正式版。过去几周对VS2017 15.3的改动主要集中在问题修复上,开发人员可以注意到,最近的VS2017 15.3 Preview版本提供了对C# 7.1的支持,对C++语言服务的改进,以及对IDE自身的几处改动。通过几个重要的问题修复,提高了稳定性和性能。

C++开发人员将看到一些IDE的改动,例如一些常用模板的位置发生了改变。基于Win32的项目现在可以在Windows 桌面类别下找到。Windows控制台和桌面程序模板在创建过程中不需要调用向导,可以分别创建他们各自的项目。Windows桌面向导可供需要的人员使用。

15.3的Preview目前已经支持C# 7.1的语言特性。InfoQ的首席编辑Jonathan Allen分两部分对这些特性进行了深入介绍。第一部分关于异步主函数(Async Main)和默认表达式(Default Expressions),第二部分探讨了推导元组名(Infer Tuple Names),以及使用泛型的模式匹配(Pattern-matching with Generics)。有了15.3 Preview,开发人员现在可以在VS2017中体验这些特性。

一个很有用的特性是增加了信息栏。如果有一个安装的扩展程序运行不正常,信息栏将给出通知,允许用户决定是否禁用有问题的扩展程序,或者不管它。

VS2017 15.3增加的其他特性包括命令行工具vswhere.exe。可以使用该工具获得VS2017安装实例的信息。该工具在15.2版本中首次出现,但是在15.3版本已经被修改,不再默认显示VS2017 Preview的实例。要获得预览版的安装信息,需要加入命令行参数prerelease。

修复的问题有:

  • 启用轻量级解决方案负载可以减少构建解决方案的时间
  • 修复了解决方案管理器工具窗口,这样文件自动定位功能可以正常运行
  • 各种稳定性方面的改进和问题修复

如往常一样,不建议将Visual Studio预览版用于生产系统。感兴趣的开发人员现在可以下载Visual Studio 2017 15.3 Preview,也可参看完整的版本说明

查看英文原文: Visual Studio 2017 15.3 Preview Nears Final Release

posted @ 2017-08-11 20:00 冬瓜 阅读(717) | 评论 (0)编辑 收藏