c 库 ubuntu?怎么在ubuntu编写c程序
大家好,关于c 库 ubuntu很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于怎么在ubuntu编写c程序的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
在Ubuntu上安装消息传递接口Open MPI库的教程
OpenMPI是一种高性能消息传递库,最初是作为融合的技术和资源从其他几个项目(FT- MPI, LA-MPI, LAM/MPI,以及 PACX-MPI),它是MPI-2标准的一个开源实现,由一些科研机构和企业一起开发和维护。因此,OpenMPI能够从高性能社区中获得专业技术、工业技术和资源支持,来创建最好的MPI库。OpenMPI提供给系统和软件供应商、程序开发者和研究人员很多便利。易于使用,并运行本身在各种各样的操作系统,网络互连,以及一批/调度系统。
Open MPI并不是LAM/MPI, LA-MPI和FT-MPI的简单组合,而是一种全新的MPI实现,其完全实现了MPI-1.2和MPI-2规约,并且完全支持并发和多线程应用(也就是MPI_THREAD_MULTIPLE)。
为了有效有效支持大范围的并行机,开发了高性能驱动程序,其中包括TCP/IP, shared memory, Myrinet, Quadrics, and Infiniband,更多的机器支持可能会基于用户、市场和研究需要而增加。对于网络传输错误,Open MPI提供了一种可选的特性来检测数据的完整性。通过使用报文分段和拆分到多个网络设计,Open MPI不仅可以达到可用带宽的最大值,而且当节点使用多台网络设备的时候,可以动态处理网络设备的数据丢失。
Open MPI的运行时环境提供了启动和管理并行应用的基本服务。
Ubuntu安装 OpenMPI
1.下载OpenMPI
在官网()上下载最新版本的安装包,如:openmpi-1.8.4.tar.gz
2.解压并进行配置
代码如下:
tar-zxvf openmpi-1.8.4.tar.gz
cd openmpi-1.8.4
./configure--prefix="/usr/local/openmpi"
注意最后一行是将其安装到/usr/local/openmpi目录下,可以指定为其他目录,如,用户目录下。
3. Build并安装
代码如下:
make
sudo make install
可以在make后加参数-j8,表示用8核编译
4.添加环境变量
在.bashrc文件中添加下列几行
代码如下:
export PATH="$PATH:/usr/local/openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/openmpi/lib/"
保存后,执行
代码如下:
sudo ldconfig
打开新的终端,使环境变量生效。
5.测试是否安装成功
代码如下:
mpirun
其他
Open MPI使用简单C语言面向对象系统实现,使用基于单一继承和引用计数的retain/release内存管理模型。一个object由一个结构体和单一实例化的class标识符组成。结构体的首个元素一个是指定父类结构体的指针。
宏指令会对C++类似的语义(如new, construct, destruct, delete)产生影响。因为C++项目的丰富经验和某些平台编译方面的问题,使得在开发Open MPI使用了面向对象方法,而不是直接使用C++。
一旦构造,对象引用计数被设置为1。当对象retain,计数递增,当对象release,计数递减。当计数到达0,会运行对象的析构器并释放内存。
Ubuntu静态库怎么使用
-供参考
linux静态库的生成与使用
1、windows系统包括静态链接库(*.lib文件)和动态链接库(*.dll文件)。
2、linux通常把库文件存放在/usr/lib或/lib目录下。
linux库文件名:前缀lib、库名和后缀3部分组成,其中动态链接库以.so作为后缀,静态链接库通常以.a作为后缀。
区别:
静态链接库的代码在编译时就拷贝到应用程序中,这样的优点是节省编译时间动态库是程序在开始运行后调用库函数时才被载入。
静态库的创建和使用
1、在一个头文件中声明静态库所导出的函数。
2、在一个源文件中实现静态库所导出的函数。
3、编译源文件,生成可执行代码(.o文件)
4、将可执行代码所在的目标文件加入到某个静态库中,并将静态库拷贝到系统默认的存放文件的目录下。
例如:mylib.h声明函数, mylib.c实现函数
1、编译mylib.c生成目标文件:gcc-o mylib.o-c mylib.c
2、将目标文件加入到静态库中:ar rcs libmylib.a mylib.o
3、将静态库copy到linux的库目录(/usr/lib或者/lib)下:
cp libmylib.a/usr/lib/libmylib.a
4、在调用库函数的文件中添加#include"mylib.h"这样就可调用静态库中函数
5、使用静态库编译:gcc-o main main.c-l mylib
注意:编译时无需带上前缀和后缀。这就是为什么在使用libxml2时librareis(-l)设置为:xml2
-梁兆铃
ubuntu创建静态库.c文件怎么输入中文
ubuntu创建静态库.c文件输入中文方法如下:
1、在终端中打开一个文本编辑器,例如gedit或vim。
2、在文本编辑器中创建一个新的.c文件。
3、在.c文件中输入中文时,需要确保文件的编码格式是UTF-8。在gedit中,可以在“文件”菜单中选择“另存为”,然后在“保存文件”对话框中选择“UTF-8”编码格式。在vim中,可以在编辑模式下输入“:setfileencoding=utf-8”,然后按回车键。
4、在.c文件中保存并关闭编辑器。
5、使用gcc编译器将.c文件编译成静态库。
6、使用nm命令检查静态库是否生成成功。