Linux培训47页
- 格式:docx
- 大小:39.28 KB
- 文档页数:47
第 1 页 Linux培训 一.在linux下使用eclipse 下进行嵌入式linux开发 使用环境: VMware7.1.4 Ubuntu 10.10 我们是在windows下安装VMware7.1.4虚拟机,在虚拟机上安装Ubuntu 10.10。 Vmware和Ubuntu安装步骤省略。请参考资料中文档。
习惯了在windows环境下开发的程序员在转到Linux平台时经常会抱怨没有一个好用的集成开发环境。和windows下常用的一些开发软件相比,Linux自带的一些开发环境使用起来要么界面和操作不够方便、友好,要么功能不全。其实我们完全可以在开源社区上找到操作方便,功能强大的开发环境。下面就向大家介绍一个能在Linux上运行,界面和功能与windows上同类软件相似的开发平台eclipse。
eclipse是著名的跨平台的集成开发环境(IDE),最初是由IBM公司开发的替代商业软件Visual Age For Jave的下一代开发环境。2001年,IBM将eclipse贡献给开源社区,现在由eclipse基金会管理。2005年7月,eclipse稳定版3.1.0发布,目前最新的稳定版本是3.4。 第 2 页
eclipse本身只是一个框架平台,最初主要用于java语言的开发。但是众多插件的支持使得eclipse同样可以用来开发其他的语言,如c/c++、c#、perl、cobol的等等。cdt(c/c++ development toolkit)就是支持c/c++开发的插件。许多软件开发商也以eclipse为框架推出了自己的集成开发环境。由于eclipse平台用java实现,所以运行时需要jre(java runtime environment)的支持。下面我们以ubuntu(linux发行版的一种)为例,介绍如何在linux上使用 eclipse+cdt来进行嵌入式Linux应用程序的开发。
(一)、安装软件 在ubuntu下安装软件有两种方法:使用apt-get来自动安装或手动安装。用户使用自动安装非常方便,适合初学者。但是安装过程过于依赖资源网站的连接状况,可能需要耗费过多的时间。这里我们推荐手动安装的方式,花的时间比较短。
1、安装jdk jdk(java development kit)即java开发包,其中包含了运行eclipse所需要的jre. ubuntu缺省安装的gnu版本的jre运行效率不高,所以我们需要安装sun公司的jre. 首先从sun的网站上(http://java.sun/javase/downloads/index.jsp)下载安装包jdk-6u7-linux-i586.bin,然后如下进行安装:
# mkdir -p /opt/java # ./jdk-6u7-linux-i586.bin // 执行自解压文件,生第 3 页
成目录 # mv jdk1.6.0_07 /opt/java // 把目录移到/opt/java下 # cd /opt/java # ln -s jdk1.6.0_07 jdk # mv /etc/alternatives/java /etc/alternatives/java.gnu # ln -s /opt/java/jdk/bin/java /etc/alternatives/java # export JAVA_HOME=/opt/java/jdk // 设置环境变量
2、安装eclipse和cdt 从eclipse网站上(http://eclipse.org/)下载安装包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip
# cd /opt # tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解压生成eclipse目录 # export PATH=/opt/eclipse:$PATH # mkdir -p /opt/cdt # cd /opt/cdt # unzip cdt-master-5.0.0.zip 第 4 页
# cp -r plugins/* /opt/eclipse/plugins/ # cp -r features/* /opt/eclipse/features/
(二)、创建c/c++工程 假设我们已经在linux上安装好了arm交叉工具链,下面介绍如何创建、交叉编译和调试c/c++工程。为了更直观的说明,我们截取了相关的图片:
进入eclipse安装路径后,运行eclipse eclipse运行界面 创建c 工程 使用缺省的Linux GCC工具链 进入c/c++ 界面 添加源代码文件1 添加源代码文件2 编辑代码 设置工程属性,指定交叉工具链1 设置工程属性,指定交叉工具链2 第 5 页
设置工程属性,指定交叉工具链3 编译工程 已生成arm平台可执行代码 配置调试选项 设置Debugger和 GDB debugger选项 设置连接类型为TCP,目标板的ip地址和调试端口号。端口号任意指定,通常大于1024(避免和系统所用端口号冲突)
在开发板上运行程序,格式如上图所示:gdbserver是交叉调试辅助程序;192.168.0.150是主机的ip地址;1234是调试端口号,和eclipse调试选项里设定的端口号要一致
点击Debug,进入调试界面 执行到断点 eclipse的调试界面和操作和在windows下开发类似,相信到了这一步,大家已经可以很方便来进行应用程序的开发了。
二.Linux环境下使用Eclipse开发C++动态链接库程序 Linux中也有类似Windows中DLL的变成方法,只不过名称不同而已。在Linux中,动态链接叫做Standard Object,生成的动态链接文件为*.so。 第 6 页
1. 创建动态链接库 (1)在Eclipse中创建新的C++工程 File->New->Project->C++->C++ Project,选择Shared Library。 (2)创建源代码文件 File->New->Source File,指定名称为shared (3)编写源码 view plaincopy to clipboardprint? /* * Test * * Created on: Oct 10, 2009 * Author: fify */ #include using namespace std; 第 7 页
void show() { cout << "Shared Library." << endl; } /* * Test * * Created on: Oct 10, 2009 * Author: fify */ #include using namespace std; void show() { cout << "Shared Library." << endl; }
编译之后将在工程目录下生成一个libshared.so文件,这就是我们要用的动态链接库文件
2. 调用动态链接库文件 第 8 页
(1)创建C++工程,选择Executable类型工程 (2)添加Source File,并编写源码 view plaincopy to clipboardprint? //============================================================================ // Name : Import.cpp // Author : Fify // Version : // Copyright : Fify copyleft // Description : Hello World in C++, Ansi-style //============================================================================ #include using namespace std; void show(); int main() { show(); return 0; 第 9 页
} //============================================================================ // Name : Import.cpp // Author : Fify // Version : // Copyright : Fify copyleft // Description : Hello World in C++, Ansi-style //============================================================================ #include using namespace std; void show(); int main() { show(); return 0; }
(3)设置导入动态库