假设我们自己编译一个加法程序,和打印程序。
那么我们可以通过下面两个命令将这两个函数编译成静态库。
那么我们可以通过下面的命令(任选一种)将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怎么添加静态路由等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)