作者:Vamei 出处:http://www.cnblogs.com/vamei
欢迎转载,也请保留这段声明。谢谢!在编译一个大型项目的时候,往往有很多目标文件、库文件、头文件以及最终的可执行文件。不同的文件之间存在依赖关系(dependency)。比如当我们使用下面命令编译时:$gcc
-c -o...
分类:
其他好文 时间:
2014-05-27 01:29:33
阅读次数:
373
echo -e "#include \nint main()\n{\n printf(\"hello
world\\\n\");\n return 0;\n}" > h.c; gcc h.c; ./a.outh.c里的内容#include int
main(){ printf("h...
分类:
其他好文 时间:
2014-05-24 07:34:05
阅读次数:
213
本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具。ldd是用来分析程序运行时需要依赖的动态库的工具;nm是用来查看指定程序中的符号表相关内容的工具。下面通过例子,分别来介绍一下这两个工具:1.
ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库:wuzesheng@w...
分类:
系统相关 时间:
2014-05-24 05:14:32
阅读次数:
912
Linux环境下yum源安装GCC前提条件是有Linux环境的安装盘ISO文件在Linux系统中创建两个目录,一个是用来存放ISO文件,一个是用来挂载该ISO文件,如下:$mkdir
/root/iso;$mkdir /root/repo;把Linux安装文件ISO文件放置到iso目录下,然后用mo...
分类:
其他好文 时间:
2014-05-23 22:16:00
阅读次数:
314
有时候在做项目的时候我们需要将自己编写的类封装起来,Qt提供了一个很好的封装途径。下面将详细讲述一个简单的库的制作过程,最后再创建另外一个工程,在这个工程里面对封装的库进行调用,从而完成一个dll库从创建到调用的过程。谢谢大家指正!
分类:
其他好文 时间:
2014-05-20 09:15:08
阅读次数:
517
什么是堆,什么是栈,什么是数据段,什么是代码段...这些都是历史遗留问题,如今编程真的没有必要在意这些了!不要被/proc/xx/{maps,smaps}里面的内容所迷惑和萦绕,自己管理好自己的内存分配就好,如果程序不是自己写的,那么就找写它的人。本文将从一个链接动态库的可执行文件如何载入进程地址空间开始,谈一下我对进程地址空间布局的看法。我没有采用精确的方式描述ELF或PE文件如何载入的,而仅仅...
分类:
其他好文 时间:
2014-05-18 18:23:26
阅读次数:
378
在c语言程序中调用c++库。需要做以下两步工作:
1、定义头文件时,要加上
#ifdef __cplusplus
extern "C"
{
#endif
头文件内容
#ifdef __cplusplus
}
#endif
这个是表示在c++编译器编译时,生成的函数名使用c语言格式修饰符。
2、在用gcc进行链接时,要加上 -lstdc+...
分类:
其他好文 时间:
2014-05-18 06:24:28
阅读次数:
378
在Ubuntu下安装GCC和其他一些Linux系统有点不一样。方法一:该方法超简单:sudo
apt-get build-depgcc就上面这条命令就可以搞定方法二:sudo apt-get install
build-essential还是简单,一句命令也可以搞定安装完了可以执行gcc--vers...
分类:
其他好文 时间:
2014-05-17 23:58:57
阅读次数:
394
一、关于NDK:NDK全称:Native Development Kit。
1、NDK是一系列工具的集合。
NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。
NDK集成了交叉编译器,并提供了相应的mk文...
分类:
移动开发 时间:
2014-05-17 21:19:56
阅读次数:
417