您的位置:首页 > 运维架构 > Linux

linux编译学习

2017-10-24 11:45 197 查看
1 使用echo命令查看单个环境变量。例如: 

e

o $PATH 

2 使用env查看所有环境变量。例如: 

env 

3 使用set查看所有本地定义的环境变量。

4.so文件:动态库

a文件: 静态库

exe文件:可执行程序(linux下以文件属性来标示是否是可执行文件,与后缀名无关)

我们用gcc编译程序时,常常会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:

例:

gcc -o hello hello.c   -I/home/hello/include   -L/home/hello/lib    -lworld

1上面这句表示在编译hello.c时:

-I /home/hello/include,表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找的顺序是:/home/hello/include–>/usr/include–>/usr/local/include

也就是指定优先查找的目录,找不到的话查找默认目录

-L /home/hello/lib,表示将/home/hello/lib目录作为第一个寻找库文件的目录, 寻找的顺序是:/home/hello/lib–>/lib–>/usr/lib–>/usr/local/lib

同上,也是指定优先查找的目录

-l word , 表示**寻找动态链接库文件**libword.so(也就是文件名去掉前缀和后缀所代表的库文件)

如果 加上编译选项-static,表示寻找静态链接库文件,也就是libword.a

对于第三方提供的动态链接库(.so),一般将其拷贝到一个lib目录下(/usr/local/lib),或者使用-L来指定其所在目录, 然后使用-l来指定其名称

5.gcc -g -o -c

g 生成gdb

o 后面跟着执行文件名称

c  只生成obj不生成exe ,只编译不连接

-dl   如果使用动态链接库增加 -ldl 库  

-lxxx    l是lib的意思 ,后面跟着库名

gcc -g -o add add.c -lm -llua -ldl

--数据库

  for update加锁只有在commit或rollback后才能自动解锁.所以存储过程中的最后处理一定是commit或rollback

6.int  转负数 二进制完全取反  在加1  就是负数

7.在Linux下删除文件及文件夹(rm)

删除目录、文件 rm(remove)

功能说明:删除文件或目录。

语  法:rm [-dfirv][--help][--version][文件或目录...]

补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。 

参  数:

 -d或–directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。 

 -f或–force  强制删除文件或目录。 

 -i或–interactive  删除既有文件或目录之前先询问用户。 

 -r或-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 

 -v或–verbose  显示指令执行过程。 

 linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,

现在使用  rm -rf  命令即可。

gdb打印完整字符串

set print element 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: