编译小总结
拙_言
Oracle 10g OCPIBM Certified Systems Expert MAIL:xcl_168aliyun.com
展开
-
编译小结(4) 说说静态库(.a)
静态库的概念和特点就不说了,这里只展示下编译过程和调用时会出现的问题。例子目录结构:[root@ol64 test4]# ls *main.clib:add.c calc.h sub.c操作系统: Oracle Linux 6.4编译版本:[root@ol64 test4]# gcc --versiongcc (GCC) 4.原创 2013-11-27 00:03:42 · 1937 阅读 · 0 评论 -
编译小结(6)认识Automake
我前面说了很多如何用gcc或 Makefile怎么编译的东东,但在Linux下装过软件的都应当见过,很多源码安装的包是用Automake来编译的。输入下"./configure","make","make install"就装上了。Automake就是有群人觉得写Makfile不方便,特别是工程文件多目录复杂时。所以就搞了这么个自动生成Makefile的开源的东东。类似的工具还有cmake原创 2013-12-19 21:04:03 · 4230 阅读 · 0 评论 -
编译小结(9)Solaris下编译时碰到的referenced symbol not found问题
最近在Solaris下运行编译好的一个程序时,莫名其妙老是报"symbol _ZN11TiXmlString8nullrep_E: referenced symbol not found"即"参照的符号没有找到",问题是同样的Makefile脚本在AIX,HPUX下编译出来的程序并没有碰到这种问题。 后来只在官网(http://docs.oracle.com/cd/E26926_01/原创 2014-04-12 23:09:39 · 3095 阅读 · 0 评论 -
编译小结(5) Makefile项目实用例子
在实际项目中,会有很多代码文件,它们间有复杂关系,并可能存放在不同的目录中。光gcc命令一个个去编译有时是不现实的,Makefile的出现就是为了解决这个问题。在这整理了我所碰到的一些情况,不是入门教程,但比较实用。如果真要全面学习, 一定要看看陈皓的>,那才精典非常啊。 一。 由繁到简写Makefile 二。 如何应付多路径,多语言(C/C++)混杂环境下原创 2013-11-27 00:05:34 · 3948 阅读 · 0 评论 -
编译小结(3) 动态库(.so)编译及二种调用技巧
动态库的概念和优势在这就不多说了,这里只说编译和调用。下面会一步步演示如何用编译使用动态库及如何解决问题。 当然如何还会具体的演示调用技巧。 1.直接用编译方式使用动态库。 动态地将程序和动态库链接,并让其在执行时加载库(如果它已在内存中则不会重复加载) 2.直接在代码中加载动态库。 程序在需要时再去加载一个特定的库(已原创 2013-11-27 00:01:17 · 3746 阅读 · 0 评论 -
编译小结(7)Automake编译静态库与动态库
具体记录下,如何用Automake编译静态库(.a)与动态库(.so)的流程. 步骤其实都是一样的,只有configure.in 与 Makefile.am 有区别。一。静态库(.a) configure.in : # -*- Autoconf -*-# Process this file with autoconf to produce a c原创 2013-12-28 18:11:48 · 2803 阅读 · 0 评论 -
编译小结(8)巧用脚本做多系统多数据库版本程序的自动化编译
在做C/C++与数据库相关开发时,编译时会用到数据库的include与lib文件,而因为数据库在同一系统会有多个版本都需要编译,如Oracle有9i,10g,11g等。不同数据库版本在不同操作系统上都要编译,是件很烦的事。因为代码都一样,仅仅因为引用不同,就要编译这么多次。为了有更多的时间做更有意义的事,写个脚本来实现自动化编译是很自然的事。 如果项目是直接手写Makef原创 2013-12-28 18:18:52 · 1458 阅读 · 0 评论 -
编译小结(2) GCC常见用法及技巧
这里把编译时常用的一些集中起来,方便查找。例1.最简单的编译例子。默认是编译成32位程序 gcc -o xcl test.c 编译成64位: gcc -m64 -o xcl test.c各系统编译64位程序开关如下:AIX 64BIT -maix64 HP-UX 64bit -mlp64Solaris 64bit -m64Linux原创 2013-11-26 23:57:58 · 2457 阅读 · 0 评论 -
编译小结(1) GCC多平台安装(Linux,Aix,HP-UX,Solaris)及编译参数
要开始Unix/Linux编程之旅,绕不开的是程序的编译。这方面的资料多如牛毛但又散如繁星。 而最近因工作原因又过了一遍。想想干脆把gcc到Makefile一次整个遍,弄成一系列。 以后用时也不用又东找西查了。 编译小结系列: (1) gcc安装(Linux,Aix,HP-UX,Solaris) (2) gcc常见用法及技巧(3) 动态库(.so)编译及二种调原创 2013-11-26 23:56:27 · 4740 阅读 · 0 评论 -
Mac下配置OpenSSL
Mac本身已经有OpenSSL可以直接用,提供的相关的依赖库如下:XCLiMac:openssl-0.9.8zg xcl$ ls -l /usr/lib/libssl.dyliblrwxr-xr-x 1 root wheel 18 11 13 2014 /usr/lib/libssl.dylib -> libssl.0.9.8.dylibXCLiMac:openssl-0.9.8原创 2015-09-19 21:45:51 · 8481 阅读 · 0 评论