西安交通大学 李思2004年8月25日-大学课件-.pptxVIP

西安交通大学 李思2004年8月25日-大学课件-.pptx

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Autoconf, automake, sed, awk, gcc, 基本库, 信号,西安交通大学 李思2004年8月25日Linux程序设计基础 主要内容Java程序开发环境C/C++程序设计基础使用gcc编译程序LinuxC编程与WindowsC编程的主要区别使用gdb调试程序Make和Makefile其它工具:Indent和CVSShell编程快速入门Bash脚本正则表达式,Sed和awk 1. Java程序开发环境 JDK的安装 到下载jdk的安装文件: j2sdk-1_4_2_05-linux-i586.bin 并把文件存放到/usr/local下#chmod +x j2sdk-xxxxxx.bin#/usr/local/j2sdk-xxxxxx.binln -s j2sdk1.4.2_04 java编辑/etc/profile,增加如下三行:export JAVA_HOME=/usr/local/java/ export CLASSPATH=.:/usr/local/java/lib/dt.jar:/usr/local java/lib/tools/jarexport PATH=/usr/local/java/bin:$PATH注意:上面命令中不能随意添加空格退出,重新登陆 Hello World#vi HelloWorld.javapublic class HelloWorld{public static final void main( String args[] ){System.out.println(Hello World);}}#javac HelloWorld.java#java HelloWorld 其它开发工具Linux下常用的Java集成化开发环境有JBuilder(最新版为X)Eclipse(最新版为3.0)Eclipse安装提示有motif和gtk两个版本,建议选gtk版安装Eclipse之前必须先安装JDK或者JRE用unzip命令解开压缩包运行方法:eclipse -vm /usr/local/java/bin/java -vmargs -Xmx256M 2. C/C++程序设计基础 开发工具与开发环境基本工具vi, emacs, gcc, g++, gdb图形界面调试工具DDD集成化开发环境Kylix、Kdevelop、Eclipse+CDT工程管理版本控制:CVS条件编译:make gcc/g++用法: gcc [options] input files常用的选项:-g:产生调试信息 (用于gdb调试)-Wall:输出所有警告信息-Dsym:在所有源代码中定义sym-o name:指定输出文件名-c: 只编译成目标文件,不连接-I dir_name: 指定include的路径-llib_name: 指定需要连接的库-S: 输出汇编语言文件-O: 对编译的结果进行优化Example: gcc -g –Wall –o hello hello.cpp 头文件系统默认的头文件路径为:/usr/include 当头文件既不在源代码目录下,也不在默认目录下时,有两种办法指定其目录在源文件中指定,例如:#include /usr/local/mysql/include 编译时通过-I参数指定,例如: gcc –o foo foo.c –I/usr/local/mysql/include 一般在编写内核模块驱动程序时需要指定头文件路径 静态库文件的连接 静态库文件位于/usr/lib目录下,文件名为 libname.a 当使用到库函数时,应该把库函数连接到程序中去例如:gcc -o foo.c -lm注意:-l的参数不是库文件名,而是库名 如果库不在/usr/lib下,应该采用-L参数指定其路径例如: gcc -o foo foo.c -L /root –lmylib 常用的静态库包括:数学库m,线程库 pthread,动态加载库dl等 共享库(1)共享库的生成使用-fPIC参数生成位置无关代码使用-shared参数生成共享目标库例如: gcc -fPIC -shared -o libfoo.so foo.c共享库的调用使用dlopen函数打开共享库文件使用dlsym取得共享函数的指针使用共享函数指针调用共享函数使用dlclose关闭共享库文件编译方法:gcc -o foo foo.c -ldl 共享库(2) 如果在dlopen函数中没有指定共享库文件的绝对路径,则按照一下顺序搜索用户的LD_LIBRARY_PATH环境变量/etc/ld.so.cache中列出的路径/lib和/usr/lib注意:不要直接修改/etc/ld.so.cache应该修改/etc/ld.so.conf然后运行ldc

您可能关注的文档

文档评论(0)

+ 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档