在linux环境下静态库(.a)的编译和使用

在linux环境下静态库(.a)的编译和使用,第1张

假设我们自己编译一个加法程序,和打印程序。

那么我们可以通过下面两个命令将这两个函数编译成静态库。

那么我们可以通过下面的命令(任选一种)将maincpp与静态库进行编译。

待后续补充

关于在 Linux 环境下面对 C 语言源程序进行静态编译,关键是要看你的 C 语言源程序中都使用到了哪些系统库函数?如果是标准的输入、输出库函数,只要在命令行提示符 $ 下面执行:

gcc my_progc 即可(缺省的可执行文件名是:aout);如果在用户的源程序中使用到了数学计算函数,那么在命令行提示符 $ 下面必须执行:

gcc my_progc -IMATHLIB(假设涉及到各种数学计算的数学库的库文件为:MATHLIB)

如果不加上 -IMATHLIB 选项,那么即使你的源程序编写得再正确,也无法正常编译。

另外还有一个必须要注意的就是:在 Linux 的环境变量中,一定要把 INCLUDE、LIB 所在的路径设置好(在 SHELL 文件中写好),这样在使用 Linux 系统时才能够减少出错的机会。

一、使用route命令添加

使用route

命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:

A、添加到主机的路由

#

route

add

–host

192168110

dev

eth0

#

route

add

–host

192168110

gw

19216811

B、添加到网络的路由

#

route

add

–net

19216810

netmask

2552552550

eth0

#

route

add

–net

19216810

netmask

2552552550

gw

19216811

#

route

add

–net

19216810/24

eth1

C、添加默认网关

#

route

add

default

gw

19216811

D、删除路由

#

route

del

–host

192168110

dev

eth0

二、添加永久路由

A、#

vi

/etc/rclocal(添加到末尾)

语句:

route

add

-net

19216830/24

dev

eth0

route

add

-net

19216820/24

gw

1921682254

B、#

vi

/etc/sysconfig/network

(添加到末尾)

语句:GATEWAY=gw-ip

或者

GATEWAY=gw-dev

C、#

vi

/etc/sysconfig/static-routes

(没有static-routes的话就手动建立一个这样的文件)

语句:

any

net

19216830/24

gw

1921683254

any

net

10250228128

netmask

255255255192

gw

10250228129

D、开启

IP

转发:

#

echo

"1"

>/proc/sys/net/ipv4/ip_forward

(临时)

#

vi

/etc/sysctlconf

-->

netipv4ip_forward=1

(永久开启)

如果在rclocal中添加路由会造成NFS无法自动挂载问题,所以使用static-routes的方法是最好的。无论重启系统和service

network

restart

都会生效。

linux动态链接和静态链接简析1生成静态链接库gcc

-c

hc

-o

hoar

cqs

libha

ho//ar是生成库的命令,cqs是参数,libha是生成的静态链接库须以lib开头,h是库名,a表示是静态链接库,ho是刚才生成目标文件2生成动态链接库

>

以上就是关于在linux环境下静态库(.a)的编译和使用全部的内容,包括:在linux环境下静态库(.a)的编译和使用、linux怎么静态编译、linux怎么添加静态路由等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10140996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存