![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Language
dreamxu
这个作者很懒,什么都没留下…
展开
-
关于C/C++中 Class, Struct, enum的定义声明位置
<br /><br /> <br />struct 和 enum定义的数据类型的作用域是本文件中。所以:<br />a. 当一个struct的数据类型定义定义在.h文件中,.h文件被多个.c包含,这些.c文件又一起连接时,不会出现数据类型重复定义的错误。但是如果这个.h文件在同一个.c中被多次展开,就出现了数据类型重复定义的问题。<br />b. struct 数据类型的定义,应该定义在.h文件中。也可以定义在.c中,在.h中做声明。<br />c. struct数据类型的定义和struct实例的定义是不同原创 2010-09-06 15:52:00 · 9364 阅读 · 0 评论 -
C Run Time--crt0.o 分析
<br />1. 该文件里有4个函数:_start, _exit,init,zerobss. 用于main运行前C运行环境的初始化,并调用main。入口是_start,它会调用main,然后调用_exit.<br />2. 该文件随toolchain一起,一般在toolchain的lib目录下。<br />3. 要想运行编译完的binary文件,只需要call _start就可以了。原创 2010-10-18 16:15:00 · 1380 阅读 · 0 评论 -
Makefile 里 -l和-L的区别
<br />-l-->指定连接时期望连接的库的名字<br />-L-->指定连接库的搜索路径<br /> <br />参见 LIBS += -Wl,-u,linuxu_app_preinit -lc -lrt -lpthread -ldl -lnlm -lfuse -L $(HPEXEC_INSTALL_DIR)/lib/<br />所以hyperexec连接时将优先连接libnlm.a里的实现,,如果在其中找不到实现,再去到newlib和libc中找实现。原创 2011-03-18 15:36:00 · 25532 阅读 · 0 评论