西安交通大学 李思年月5日.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安交通大学 李思年月5日.ppt

Linux程序设计基础 西安交通大学 李思 2004年8月25日 主要内容 Java程序开发环境 C/C++程序设计基础 使用gcc编译程序 LinuxC编程与WindowsC编程的主要区别 使用gdb调试程序 Make和Makefile 其它工具:Indent和CVS Shell编程快速入门 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.bin ln -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/jar export PATH=/usr/local/java/bin:$PATH 注意:上面命令中不能随意添加空格 退出,重新登陆 Hello World #vi HelloWorld.java public 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 注

文档评论(0)

gtez + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档