![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译器
文章平均质量分 78
friendbkf
Bingo! macrofun is me too.
展开
-
GCC常用参数解释
gcc在命令行上经常使用的几个选项是: -ansi 表示除了ANSI C标准之外其他特性都认为语法错。比如//单行注释。需要注意的是,这个选项只是严格执行大部分ansi标准。 -std= 后面可以跟c89 c99 gnu89等标准。表示编译器使用哪个标准进行编译。比如使用c89标准就用-std=c89,如果想一些gcc的扩展特性就用-std=gnu89。这个gnu89是默认值,也就是什么都不指原创 2015-05-10 14:18:18 · 1585 阅读 · 0 评论 -
字节那些事儿
1、 前言 作为一名 C/C++ 程序员,字节是我们天天都要与之打交道的一个东西。我们和它熟稔到几乎已经忘记了它的存在。可是,它自己是不甘寂寞的,或迟或早地,总会在某些时候探出头来张望,然后给你一个腿儿绊。其实,只要你真正了解了它的底细,你就会畅行无阻。在本文中,我们将首先简要了解一下字节的概念,然后着重了解一下字节序问题和字节对齐问题。 注:笔者已经尽最大努力保证本文信息的正确性,但确实无法转载 2015-05-22 15:09:41 · 434 阅读 · 0 评论 -
不可不知的内存对齐(Memory Alignment)
内存对齐的原因 平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。 上图中,左边蓝色的方框是CPU,右边绿色的方框是内存,内存上面的0~3是内存转载 2015-05-21 21:03:31 · 2856 阅读 · 1 评论