- linux下载源的指定.目录为/etc/yum.repos.d/Centos-Base.repo
修改其中的url即可,最后执行,yum clean all;yum makecache;yum update;
- ifconfig命令not found.一般是环境变量没有配置好
修改如下:export PATH=$PATH:/sbin
- Centos安装命令:yum install xxxx.
例如:安装g++环境,yum install gcc-c++;
安装rz,sz,yum install lrzsz;
- tar解压命令:
tar -xf filename
tar -cvzf xxxx.tat xxx(目录)
- C++/C头文件和库文件的设置:对home目录下的.bashrc进行修改.如下:
/home/wanghui/.bashrc.其中,C_INCLUDE_PATH 为c的头文件目录;
CPLUS_INCLUDE_PATH为C++头文件目录;LD_LIBRARY_PATH为动态链接库;LIBRARY_PATH为静态链接库
例子如下:
# User specific aliases and functions
#c
export C_INCLUDE_PATH=/home/wanghui/lib/hpr/hpr/include/:$C_INCLUDE_PATH
#cpp
export CPLUS_INCLUDE_PATH=/home/wanghui/lib/hpr/hpr/include/:$CPLUS_INCLUDE_PATH
#ld
export LD_LIBRARY_PATH=/home/wanghui/lib/hpr/hpr/linux/64/:$LD_LIBRARY_PATH
#sld
export LIBRARY_PATH=/home/wanghui/lib/hpr/hpr/linux/64/:$LIBRARY_PATH
- 使动链接库生效的方式:修改/etc/ld.so.conf配置文件,加入自定义的链接库路径即可.最后,运行/sbin/ldconfig -v; 启动生效.
- Ctrl+z切换到后台,fg %d把后台进程1,切换到前台;
Jobs查看后台进程
- g++ 的参数含义:
- -c 编译/汇编到目标代码,不进行连接,即生成目标文件(.o)
- -o 生成可执行的程序,期间如果需要链接动态库,需要加上-l
- -l 链接上动态链接库
- 关于vim的基本操作:
- yy复制一整行
- dd剪切一整行
- p粘贴
- u撤销
- 关闭防火墙:
service方式: service iptables start //开启
service iptables stop //关闭
iptables方式:/etc/init.d/iptables stop
/etc/init.d/iptables start
- 删除带特殊字符的文件: ls -ilrt; find -inum xxxxx -exec rm '{}' \;
- linux一般默认有设置最大的连接数量,可以通过修改open file的个数来增大数量.操作如下:
ulimit -a 查看open files的个数
Vi /etc/security/limits.conf 进行修改配置,在最后一行添加
- Soft nofile 32768
- Hard nofile 32768
- 设置完后,重新启动系统.
- 查看端口是否被占用: netstat -apn | grep xxxx
- 生成静态库的方法: ar crv libxxx.a yyy.o
主要是通过 .o文件来生成静态库
- 使用静态库的方法
在编译的时候加上 -L. -lxxx;
-L表示指定lib库文件的搜索路径
-lxxx表示指定的lib库名称
-I 表示头文件目录
- error while loading shared libraries的解決方法
那就表示系统不知道xxx.so 放在哪个目录下。
這个時候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。
將 /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。
- makefile中的几个常用符号
$@ 目标文件
$^ 所有的依赖文件
$< 第一个依赖文件
- LIBRARY_PATH环境变量:指定程序静态链接库文件搜索路径
LD_LIBRARY_PATH环境变量:指定程序动态链接库文件搜索路径
- 查看目录结构 tree
1,静态库是怎么生成的?
答:.o文件打包生成的。
2,.o文件编译需要依赖定义吗?
答:不需要
3,动态库是怎么生成的?
答:.o文件链接生成的。根据2可知必须在链接时指定外部动态库。
4,使用静态库怎么用?
答:直接当作一堆.o参与链接即可,如果某.o依赖外部定义,此时链入即可。
5,使用动态库怎么用?
答:包含头文件编译自己的源码生成.o,链接时引入动态库提供定义。
6,动态库A还依赖动态库B,会影响使用动态库A的程序吗?
答:不会,程序只要链入动态库A即可,动态库A已经链接过,它知道去哪里找自己需要的B。
- 动态库中调用静态库时,静态在编译的时候需要加上-fPIC
Linux笔记
最新推荐文章于 2024-07-20 09:08:34 发布