问几个关于c语言的基本问题,求详细解答!
1,_static_inline是干啥的?是不是只能用在.h文件里面呀?另外在.c和.h文件里写源码有什么区别吗?2,.h文件开头都有个‘
#ifndef _INCLUDE_H
#define _INCLUDE_H
####
#endif’
之类的这有什么用呀?还有为什么要大写呢?可以小写么?
3.unsigned long到底是多大的?在arm里面 1函数只在本文件有效2那个是防止文件被多次包含34字节 wye11083 发表于 2015-2-10 20:52
1函数只在本文件有效2那个是防止文件被多次包含34字节
谢谢你!我大概明白了。 1、带下划线的可能是开发环境定义的宏,_static可能是定义变量或函数的作用范围的,_inline请查看内联函数相关说明。
2、防止头文件被重复包含。一个头文件可能被多个其它的文件包含,这样在这个头文件里定义或声明的内容会被重复定义或声明。
加了#ifdef后,在第二次被包含以后,编译器发现这个宏已经被定义过了,就不会将军#ifdef到#endif之间的内容加到相应的文件前面了。
有关#ifdef的说明,请查看C语言书里有关预处理器的内容。宏的定义一般都全用大写加下划线,当然也可以小写。
3、unsigned long是32位的,即4字节。记得是与MCU和开发环境无关的,是语言定义的。不过还是找找C语言的书,以书上为准。 楼上两位解释的很清楚呢
_static_inline可以用在.h和.c文件里面,h文件是引用 c文件是定义 _static_inline用来防止文件外调用 推荐一本书,C prime plus 看书哦补下 写代码就像写书一样
有目录,目录里能体现章节 章节有具体的文字描述 这样看的有条理
页:
[1]