centos 联合编译动态连接库详解

么是动态链接库

Windows上是dynamic linklibrary (DLL),后缀?xxx.dll

UNIX或Linux上是Shared Library .后缀是 xxx.so

将文件编译成.so格式的动态链接库

gcc -o libme.so wso.c -shared

将wso.c编译成 libme.so 库名为me

lib so为前缀跟后缀

联合编译

gcc -L /root/myc/ -l me ws.c -o newws

-L 动态链接库的文件夹位置

-l 动态链接库的库名 (去除最前面的lib和.so就是库名)

接下来你会发现编译成功了,但是运行依然失败

失败原因是操作系统无法找到

其实Linux和windows一样,有个类似system32的系统库文件夹。各种公共类库都放于此

CentOS中有和windows很类似的两个存放公共库的文件夹

/lib 内核级

/usr/lib 用户系统级

/usr/lib64/ 64位系统才有

你要把你做好的库 瞎放也没关系

解决方法

把我们做的SO文件拷贝到公共库去(cp命令)

然后执行ldconfig (把动态库缓存起来了。加了新玩意儿需要重新更新缓存)

运行newws 成功

(0)

相关推荐

  • CentOS文件查看及编辑介绍详解

    CentOS文件查看及编辑介绍详解 2.1 cat 命令介绍 cat 命令的原含义为连接(concatenate), 用于连接多个文件内容并输出到标准输出流中(标准输出流默认为屏幕).实际运用过程中, ...

  • CentOS 7下systemd管理的详解

    CentOS 7下systemd管理的详解 CentOS系统启动流程: POST --> Boot Sequence --> Bootloader --> kernel + init ...

  • centos中tree插件的使用详解与注意事项

    tree插件比较消耗cpu和内存,所以使用时需要注意一下. tree的安装: yum -y install tree 或者是 sudo apt-get install tree 使用时直接输入tree ...

  • 《大将军》动态推进战斗详解兵种相克奥义

    大将军叱咤沙场,兵种优劣搭配怎么能不知晓?游族创新SLG页游<大将军>,开放性内测火爆进行中,无需激活即可体验动态推进战斗的乐趣,今日为你带来兵种相克奥义详解,助你征战沙场,奋勇杀敌! 操 ...

  • Linux(centos)系统各个目录的作用详解 推荐

    文件系统的类型 LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。 普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat ...

  • CentOS下VIM实用基本操作技巧详解

    文本编辑器有很多,图形模式下有gedit.kwrite等编辑器,文本模式下的编辑器有vi.vim(vi的增强版本)和nano.vi和vim是Linux系统中最常用的编辑器.有人曾这样的说过在世界上有三 ...

  • CentOS的网络配置的命令详解

    我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR).子网掩码(NETMASK).网关(Gateway).主机名(HOSTNAME).DNS服务器等方面入手.而在CentOS中,又有 ...

  • CentOS终端类型及相互转换方式详解

    Linux系统中的终端基本都在/dev目录下,可分为文本命令行模式和图形界面模式.Windows系统中的图形界面是在系统内核空间中的,而Linux系统中的图形界面是作为一个应用程序调用的,所以wind ...

  • win7系统netbios连接步骤详解

    第一、查看COMPUTER BROWSER 服务开启 第二、检查TCP/IP NETBIOS HELPER服务开启 第三、检查SERVER服务开启 第四、检查workstation 手动验证连接,打开 ...