![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 94
çheryアΔan
职业 专业
展开
-
C/C++——宏定义作用域
首先,C语言标准中宏定义的作用域是,从定义位置开始,到其当前所在作用域结束,当前所在作用域只有两个,即1.块作用域(一对{}大括号的范围)2.整个文件结尾...原创 2020-02-04 16:42:56 · 2509 阅读 · 0 评论 -
C++/C 宏定义#define中 “# “和“##“作用
符串化-##是字符串化的意思,出现在宏定义中的#是把跟在后面的参数转成一个字符串;#define strcpy__(dst, src) strcpy(dst, #src)strcpy__(buff,abc) 相当于 strcpy(buff,“abc”)连接符号-####是连接符号,把参数连接在一起#define FUN(arg) my##arg则 FUN(...原创 2019-06-16 14:12:20 · 3143 阅读 · 0 评论 -
STM32——.bss .data .text 与Code, RO-data , RW-data, ZI-data的关系
核心就是RAM和ROM的作用和区别C语言变量的存储类别内存中供用户使用的存储空间分为代码区与数据区两个部分。变量存储在数据区,数据区又可分为静态存储区与动态存储区。静态存储是指在程序运行期间给变量分配固定存储空间的方式。如全局变量存放在静态存储区中,程序运行时分配空间,程序运行完释放。动态存储是指在程序运行时根据实际需要动态分配存储空间的方式。如形式参数存放在动态存储区中,在函数...原创 2019-07-09 21:45:24 · 6050 阅读 · 0 评论 -
C/C++——编译器 GCC与LLVM
C类型语言的各种编译器,比如(gcc clang)编译器有关的名词:GNU,GCC,CLANG,LLVM等编译器简单地说,编译器可以看作是一个语言翻译器。就像把中文翻译成英语一样,编译器可以把高级语言翻译成计算机能够执行的机器语言。这样看来,GCC可以算得上是一个精通多国语言的高级翻译官了。最简单的GCC使用指令如下所示:gcc hello.c -o helloGCC接受hel...原创 2019-07-06 21:55:11 · 5396 阅读 · 0 评论 -
C/C++——C语言标准、C语言标准库、 C标准库实现glibc, uClibc, Elibc
C语言标准C语言作为一种常用的计算机开发语言,被用于各种领域,尤其是单片机与嵌入式的开发,在现阶段更有着无可替代的作用,我也经常会使用C语言进行各种开发,使用过程中我们经常会听说 GUN C 、ANSI C、标准C这几个术语,在了解这几个术语对应的C标准之前,我们需要先了解三个组织,分别是自由软件基金会,美国国家标准学会以及国际标准化组织。下面对其三个组织进行简单说明:自由软件基金会:是美国...原创 2019-07-06 21:57:51 · 1857 阅读 · 1 评论 -
C/C++——linux默认动态库连接、动态库与静态库混合连接-Wl
linux默认对库的连接是使用动态库在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为:gcc test.cpp -L. -ltestlib如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要指定为连接静态库则使用:gcc test.cpp -L. ...原创 2019-07-11 23:30:47 · 1868 阅读 · 0 评论