千家信息网

Linux命令

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,pwd查看当前路径rm 文件名 删除文件rm -rf 文件夹删除文件夹touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用
千家信息网最后更新 2026年10月31日Linux命令

pwd      查看当前路径
rm 文件名     删除文件
rm -rf 文件夹  删除文件夹

touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
ls -l    查看文件的详细信息,如大小等

gcc/g++

g++ main.cpp -o main预编译,编译,汇编,链接生成执行文件main
g++ -c main.cpp先编译不链接,生成文件main.o(编译的是单个文件,不管链接的库路径,当项目文件很多时很有用,提高效率不用每个都编译)。

 

g++ main.o -o main      链接,找唯一的main()函数,最终生成执行文件main
g++ -E main.cpp  预编译g++ -E main.cpp>main.e将预编译输出到main.e,便于查看。预编译将所有头文件、用宏替换拼到一个文件中,因为编译的时候只编译这一个文件
g++ -S main.cpp  只编译不汇编(生成文件main.s汇编码)
g++ -g main.cpp -o main_d  有调试信息的可执行文件相当于win的Debug版本

写程序:

int main(int argc, char *argv[])

argc 是 argument count的缩写,表示传入main函数的参数个数;
argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个;
例如:

#include using namespace std;void main(int argc,char *argv[]){    for(int i=0;i

argv是指向指针的指针,main函数的第二个参数"char *argv[]"也可以替换为 "char **argv",两者是等价的。

多文件编译
预编译的时候需要指定头文件的路径:

g++  main.c  ../Person/Person.cpp  -o  main  -I../Person 

预编译过程需要头文件路径 , -I../Person指的是头文件所在的路径;
编译或链接过程(我不确定到底是哪个好衰)需要函数的定义,../Person/Person.cpp是头文件中的成员函数的实现

注:再多的文件也把文件是拼过来;也可以先生成.o文件在来链接。
动态链接库
1、生成名为Person的动态链接库文件libPerson.so

 g++ Person.cpp -fpic -shared  -o libPerson.so    命名必须以lib开头


2、使用动态链接库文件

g++ Person.cpp -o main -I../Person    能找到头文件 g++ main.cpp -o main -I../Person -L../Person -lPerson   能找到头文件和动态链接库文件

-I../Person是头文件路径;-L../Person是指定libPerson.so路径(如果不指定默认去系统环境变量的lib库找);-lPerson是链接库名。

注:在执行./main时,报错:
解决:方法1把动态链接库文件拷贝到系统的path路径里;
方法2如图,使用执行脚本的方式
执行脚本写 :

export LD_LIBRARY_PATH=../Person

最后,执行 ./main
也可以用ldd main 查看程序的链接情况。
补充:在使用opencv的时候出现了错误:

main.cpp:(.text+0x53):对'cv::imread(cv::String const&, int)'未定义的引用

解决:这是链接器的错误。使用 pkg-config 的 -cflags 参数可以给出在编译时所需要的选项,而 -libs 参数可以给出连接时的选项

qiaoyunhao@ThinkPad:~/MyStudy/c_project/test$ g++ main.cpp `pkg-config --cflags --libs opencv` -o main

问题解决!
pkg详解参考:
https://blog.csdn.net/a1059682127/article/details/80554729
https://blog.csdn.net/weicao1990/article/details/51933918
makefiles的书写参考其它https://www.cnblogs.com/Bw98blogs/p/7297007.html

文件 编译 链接 路径 函数 参数 生成 动态 库文件 程序 指针 时候 系统 个数 信息 所在 文件夹 方式 方法 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 有格互联网科技 中国互联网科技股 朗新科技与工业互联网 互联网与科技金融数据 万易互联网科技有限公司 友谊互联网络科技 撒么互联网科技公司 互联网科技公司介绍 栖莱科技互联网股份有限公司 互联网保险科技创业 乌鲁木齐新华智原互联网科技学校 威龙国际互联网科技公司 恒生互联网科技业指数调整周期 2021互联网科技公司排名 九思连强互联网电子科技有限公司 万物互联网智能科技 陕西九四连强互联网科技有限公司 保山浩联互联网科技有限公司 银川新华互联网科技学校招聘 互联网是第几次科技革命的成果 互联网科技开发公司 互联网的科技创新 成都狮子座互联网科技 互联网科技公司名称 银川新华互联网科技学校地址 须眉科技是互联网公司吗 栖莱科技互联网股份有限公司 消费医药和互联网科技 广州燕处互联网科技有限公司
0