Linux下创建CUDA程序动态链接库示例
2010-03-29 16:39
441 查看
在这里我以SDK中自带的deviceQuery.cpp文件为里,利用t.cpp来调用其编译生成的动态链接库。
首先创建一个soTest的文件夹,里面有两个文件deviceQuery.cpp, t.cpp。
deviceQuery.cpp的代码可以参考CUDASDK t.cpp的源代码如下:
#include int cudev(int argc, char** argv);
int main(int argc, char ** argv)
{
cudev(argc,argv);
return 0;
}
然后在当前目录下输入以下命令:
1. g++ -W -Wall -Wimplicit -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wmultichar -Wtrigraphs -Wpointer-arith -Wcast-align -Wreturn-type -Wno-unused-function -fno-strict-aliasing -I. -I/usr/local/cuda/include -I/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/inc -DUNIX -O2 -o deviceQuery.o -c deviceQuery.cpp
2. g++ -shared -Wl,-soname,libcudev.so.1 -o libcudev.so.1.0.0 deviceQuery.o -lc -I. -I/usr/local/cuda/include -I/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/inc -L/usr/local/cuda/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/lib/linux -lcudart -L/usr/local/cuda/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/lib/linux -lcutil
3. gcc -Wall -o t.o -c t.c
4. ln -sf libcudev.so.1.0.0 libcudev.so
5. ln -sf libcudev.so.1.0.0 libcudev.so.1
6. gcc -Wall -L. -o t t.o -lcudev
这样执行 ./t 就可以顺利调用deviceQuery.cpp中的函数了^_^
首先创建一个soTest的文件夹,里面有两个文件deviceQuery.cpp, t.cpp。
deviceQuery.cpp的代码可以参考CUDASDK t.cpp的源代码如下:
#include int cudev(int argc, char** argv);
int main(int argc, char ** argv)
{
cudev(argc,argv);
return 0;
}
然后在当前目录下输入以下命令:
1. g++ -W -Wall -Wimplicit -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wmultichar -Wtrigraphs -Wpointer-arith -Wcast-align -Wreturn-type -Wno-unused-function -fno-strict-aliasing -I. -I/usr/local/cuda/include -I/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/inc -DUNIX -O2 -o deviceQuery.o -c deviceQuery.cpp
2. g++ -shared -Wl,-soname,libcudev.so.1 -o libcudev.so.1.0.0 deviceQuery.o -lc -I. -I/usr/local/cuda/include -I/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/inc -L/usr/local/cuda/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/lib/linux -lcudart -L/usr/local/cuda/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/lib -L/home/cuda/NVIDIA_GPU_Computing_SDK/C/common/lib/linux -lcutil
3. gcc -Wall -o t.o -c t.c
4. ln -sf libcudev.so.1.0.0 libcudev.so
5. ln -sf libcudev.so.1.0.0 libcudev.so.1
6. gcc -Wall -L. -o t t.o -lcudev
这样执行 ./t 就可以顺利调用deviceQuery.cpp中的函数了^_^
相关文章推荐
- Linux程序运行时找不到动态链接库的原因
- jnative在linux下对c程序的动态链接库的调用问题及解决方案
- 程序的链接和装入及Linux下动态链接的实现
- IBM的LPI复习资料之LPI101-Topic102:Linux安装和包管理(3)管理动态链接库(查找和加载程序需要的动态链接库文件)
- 程序的链接和装入及Linux下动态链接的实现 收藏
- linux下C++动态链接C++库示例详解
- 程序的链接和装入及Linux下动态链接的实现
- linux x86下依赖于动态链接库so的cpp程序编译
- Linux动态链接之七:共享库的创建和安装
- [LinuxC]加载动态链接库so程序简单实例
- Linux - 创建与使用动态链接库
- linux 程序运行时 指定动态链接库位置 so library
- 程序的链接和装入及Linux下动态链接的实现(objdump)
- 【Linux-ln拓展】可用于同时创建多个硬链接同时备份多个文件的程序
- linux 创建 静态 链接库 动态 链接库
- Linux中创建程序的快捷方式,分软链接和硬链接两种
- 程序的链接和装入及Linux下动态链接的实现
- 程序的链接和装入及Linux下动态链接的实现
- Linux查看文件内容、创建、查看软硬链接命令示例
- 程序的链接和装入及Linux下动态链接的实现