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
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
相关文章推荐
- Linux学习之建立yum源、yum命令的使用及rpm包编译安装
- Linux内核编译选项学习(二)(***General setup***)(综合整理)
- Linux学习之基础知识——httpd编译安装
- 学习在linux和windows安装GSL和使用,编译 链接 和makefile的撰写和实现
- linux学习之C语言(1)------ 源程序的编译
- Linux内核编译学习
- OK6410 Linux开发环境搭建--编译以及ubuntu的使用方法学习笔记
- GCC Windows Linux 下编译学习2
- 嵌入式Linux驱动学习之路(四)u-boot编译分析
- linux 内核编译学习
- linux 学习- 编程基础之内核配置与编译
- Linux学习日志(15)- 常用GCC编译控制选项
- LIVE555再学习 -- Linux 下编译
- Linux学习:安装交叉编译工具链
- linux 模块编译步骤 分类: 嵌入式开发学习 2014-06-09 09:56 162人阅读 评论(0) 收藏
- linux设备驱动开发范例,linux驱动例子,Linux设备驱动详解范例example 宋宝华版的光盘驱动源码,实测编译通过入门学习用
- Linux学习篇------gcc编译及Makefile基本知识
- 轻松学习Linux之内核编译
- DayDayUP_Linux运维学习_mysql安装(源码编译安装)
- 在VM上学习嵌入式Linux系统的构建之一--编译内核