C++ 的一些小知识点

9 篇文章 0 订阅

切换分支之前,必须保存现场,依次执行以下命令

git add .

git commit -m ""

git checkout (branch)

git pull

有的时候代码明明已经回滚到一个之前编译ok的commit了,但是编译总是不过,不要怀疑git的功能,而编译不过可能是因为当前仓库中的工程对其他仓库的内容有依赖,虽然当前的仓库回滚到了一个编译ok的版本,但是相应的被依赖的仓库却没有回滚,这就可能会引起当前工程的依赖文件被修改的问题,从而导致编译不过。

 

有的时候编译没有问题的程序,在运行时候会有:堆栈附近的存储已经损坏的提示,这时候可以选择continue或者break,也可以通过修改项目属性中的C/C++ - code generation -runtime debug选项抑制这个错误,但是实际上错误仍然存在,仍然可能会引起程序crush。实际上这个问题,就是指针范围或者是数组边界越界引起的,需要详细查找越界的地方改正过来。

 

在实际项目中每个人的代码模块都是放在某个解决方案之下的,每个解决方案又是整个软件的一个函数库,这个时候就不能都跟单干时候一样,自己写一个exe文件,把自己的程序跑起来一步一步的调试代码,只好通过打log的方式去查看是否程序有问题,以及程序的问题出现在那里。不过还有另外一种单步运行方法,可以将dll文件跟源代码联系起来,然后在可能出问题的源代码位置打断点,然后将软件跑起来,当软件跑到打断点的位置时候就会停下来,这时候再单步在源代码中运行调试,也可以一定程度上对代码进行debug。

在release软件中用的dll文件,要用release方式编译。

项目属性-general-debug information

项目属性-优化-max speed  & Inline function 两个选项要关掉

 

C++ 提供了很多模板,但是这些模板在实时数据处理的时候,并不是很有用。诚然这些模板用起来很方便,但是计算效率却很低,实时数据处理的工程中尽量不用。

 

printf之类的打印函数不能出现在产品包中

git log # 查看提交记录,

q # 退出log

git log (branch) # 产看某个分支上的提交记录

git reset --hard (commid id) # 回滚到某次的提交记录

git log --graph # 图形化显示提交记录

git branch -a # 显示所有分支

git branch -d (branch) # 删除分支

git reflog # 版本穿梭

git push --set-upstream origin localBranchName # 将本地新建的分支推到远端,并建立联系

函数接口的参数是指针或者数组时候,要加保护机制

判断地址是否为空,判断传递的长度,以及内部运行时候确保不会越界

接口参数多用引用、数组,少传指针;其余的时候尽量使用指针,在两种情况下优先使用引用:1】确定指向的对象不会变化且不是空值的时候,2】使用指针无法完成预期的功能的时候。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值