C语言
小问蓝晨
这个作者很懒,什么都没留下…
展开
-
C语言Side Effect与Sequence Point
转自:http://docs.linuxtone.org/ebooks/C&CPP/c/ch16s03.htmlSide Effect与Sequence Point如果你只想规规矩矩地写代码,那么基本用不着看这一节。本节的内容基本上是钻牛角尖儿的,除了Short-circuit比较实用,其它写法都应该避免使用。但没办法,有时候不是你想钻牛角尖儿,而是有人逼你去钻牛角尖儿。这是我们的学员转载 2016-07-16 17:03:38 · 471 阅读 · 0 评论 -
Makefile 使用总结
转自:http://www.cnblogs.com/wang_yb/p/3990952.html1. Makefile 简介Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂.Makefile的组织流程的能力如此之强, 不仅可以用来编译项转载 2017-01-09 13:27:34 · 691 阅读 · 0 评论 -
Gcc 编译生成的h.gch文件
最近在用makefile编译文件时,编译完成后发现当前目录下有一些.h.gch 文件,很奇怪,上网查了以后,明白那是gcc为了优化编译速度。如果一个文件里面包含的 .h 比较多的情况下,对于修改不多的头文件,gcc 可以先将.h头文件预编译成为 .h.gch文件,以便下次编译时能够更快。如何生成.gch文件1 建立comm.h2 main.c中包含comm.h :转载 2017-05-20 23:28:31 · 5274 阅读 · 0 评论 -
如何使用MAP文件找到程序崩溃的原因
如何使用MAP文件找到程序崩溃的原因作者 Wouter Dhondt 翻译 冯亦成(fengyc@pset.suntec.net)[译 者] 在我们调试程序的时候,习惯于不停的Step in, Step in...可是如果我们发现Debug版的exe可以完全正常运行,而Release版却经常莫名其妙Crash。那该怎么办??没有关系,这篇文章就是 帮你解决这个问题的:) 当然,你如转载 2017-02-24 20:45:28 · 1770 阅读 · 0 评论 -
多线程访问变量是否要加锁
是否要加锁?加锁的代价有多大?现在有个变量 static int g_delRecordFlag = 0;多个线程同时访问,加了互斥锁,感觉资源消耗的有点多。这个变量即使多个线程访问冲突,也没有什么大的问题,很纠结是否加锁。询问同事,arm访问int是原子型的,可以不加锁。网上查询了下,1.int变量读写是否是原子操作,是平台相关的,可以看内核相应平台的atomic.h中对原创 2017-01-09 21:35:33 · 7823 阅读 · 0 评论 -
windows和linux 共享文件夹注意事项
1.现在一般使用在windows下搭建linux虚拟机进行工作,代码放在共享文件夹中,在windows下进行代码编辑,在linux下进行编译。这样一般不会有什么问题,可是windows是不区分文件名字大小写的,而linux是大小写敏感的。常常会发生在共享文件夹下编译没有问题,但是如果只在linux系统下编译去常常出现找不到文件问题,所以要区分文件名字的大小写。自己已经实际验证。原创 2017-01-03 09:45:16 · 521 阅读 · 0 评论 -
C语言结构体里的成员数组和指针
转自:http://coolshell.cn/articles/11377.html单看这文章的标题,你可能会觉得好像没什么意思。你先别下这个结论,相信这篇文章会对你理解C语言有帮助。这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接。微博截图如下。我觉得好多人对这段代码的理解还不够深入,所以写下了这篇文章。为了方便你把代码转载 2016-11-14 21:41:51 · 3020 阅读 · 1 评论 -
gnu linux 上ARM默认char是不带符号.
C标准表示char类型可以带符号也可以不带符号,由具体的编译器、处理器或由它们两者共同决定到底char是带符号合适还是不带符号合适。大部分体系结构上,char默认是带符号的,它可以自-128到127之间取值。而也有一些例外,比如ARM体系结构上,char就是不带符号的,它的取值范围是0~255举例来说,在默认char不带符号,下面的代码实际会把255而不是-1赋予i:char i =转载 2016-11-29 19:13:22 · 1158 阅读 · 0 评论 -
Source Insight 3.X 插件支持utf8,完美解决中文乱码,另附优美的配置文件一份
转自: http://blog.csdn.net/nyist327/article/details/39935379上次SI多标签插件之后,因为公司内部编码改为utf8编码,因此特意做了这个Source Insight 3.X utf8插件.下载地址:http://pan.baidu.com/s/1mgyZous,或者:[点我] 安装说明:解压msimg32转载 2016-11-09 10:30:29 · 1288 阅读 · 0 评论 -
Makefile 使用总结
转自:http://www.cnblogs.com/wang_yb/p/3990952.html1. Makefile 简介Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂.Makefile的组织流程的能力如此之强, 不转载 2016-09-30 14:29:39 · 240 阅读 · 0 评论 -
C 语言预编译指令
#if defined 宏1code;#else defined 宏2code;#endif注意当#if defined 中的 defined 写错时,编译器并不报错。原创 2016-09-30 19:34:47 · 296 阅读 · 0 评论 -
C语言类型转换
类型转换如果有人问C语法规则中最复杂的是哪一部分,我一定会说是类型转换。从上面两节可以看出,有符号、无符号整数和浮点数加起来有那么多种类型,每两种类型之间都要定义一个转换规则,转换规则的数量自然很庞大,更何况由于各种体系结构对于整数和浮点数的实现很不相同,很多类型转换的情况都是C标准未做明确规定的阴暗角落。虽然我们写代码时不会故意去触碰这些阴暗角落,但仍然有时候会不小心犯错,所以了解一些未转载 2016-07-16 17:19:19 · 413 阅读 · 0 评论 -
C 语言操作符优先级和结合性
关于C语言运算符优先级和结合性时常有疑惑,特此留下笔记。1、标识符、常量、字符串和用()括号套起来的表达式是组成表达式的最基本单元,在运算中做操作数,优先级最高。2、后缀运算符,包括数组取下标[]、函数调用()、结构体取成员.、指向结构体的指针取成员->、后缀自增++、后缀自减--。如果一个操作数后面有多个后缀,按照离操作数从近到远的顺序(也就是从左到右)依次运算,比如a.name++,先转载 2016-07-16 16:56:01 · 480 阅读 · 0 评论 -
char *p="abc" 与 char p[]="abc" 的区别
转自: http://blog.csdn.net/zzwdkxx/article/details/9393377有这样一段代码:[cpp] view plain copy#include "stdio.h" char *get_string_1() { char p[] = "hello world!";转载 2017-07-12 09:39:27 · 1482 阅读 · 0 评论