1、在/etc/ld.so.conf文件中加入自定义的lib库的路径,然后执行/sbin/ldconfig,这个方法对所有的终端有效
2、在ld_library_paht中加路径:export
ld_library_path=你的库路径:$ld_library_path,这个方法在终端重启后就失效了
3、在/etc/profile中加入export
c_include_path=c_include_path:头文件路径
两次相对比一下,第二次增加了以下函数的实现,这部分是要编译成机器指令的,所以第二次这部分相当于是增加的。
int printf (const char *__format, ...){
register int __retval
__builtin_va_list __local_argv __builtin_va_start( __local_argv, __format )
__retval = __mingw_vprintf( __format, __local_argv )
__builtin_va_end( __local_argv )
return __retval
}
那第二次减少了哪些呢?一点都没有,因为stdio这个头文件声明的函数和变量,都是在一个库中实现的,根本就不会包含在你的exe中,所以加不加stdio头文件没有区别。
要想验证这个也很简单:代码1
#include <stdio.h>int main(){return 0}
代码2:
int main(){return 0}比较这两次产生的exe是否一致即可。
注意,不能带有-g选项,-g选项会生成一些额外的调试信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)