Linux系统下的c语言编程_吕路啊的博客-程序员宝宝_linux在c语言

技术标签: Linux  


首先要清楚一点相对路径和绝对路径的区别:
绝对路径都是以“/”开头的,比如/usr/bin/vi或者/home/zorro/,代表从根目录"/“开始计算的绝对路径。相对路径都是不以“/”开头的,不如git/linux/或者work/testplan,代表从当前所在目录开始计算的相对路径,如果想知道你现在所在的目录是什么可以借助pwd命令查看。
然后还有快速打开:
”代表当前路径,”…"代表当前路径的上一级目录的路径。比如执行“cd …”就是退进到上一级目录,如果是"cd …/…"就是当前路径退两级。


还有一点就是,查看限权的时候,第一个字符d代表后面的是一个文件。第一个三个为组的是管理员的限权,r可读,w可更改,x是可执行。第二个三个为组的是同种路径下的(室友)。第三个三个为组的应该就是自己。


然后就是编译器的理解了:
1.gcc是一个Linux下常见的编译器。
2.-c是生成可执行文件。
3.-o是生成链接,也就是把前面的反应传到-o后面的文件里。
然后gcc就是一个编译器,可以将一个文件生成可执行文件。
gcc 1.c 生成一个1.o的可执行文件
gcc -c 1.c 生成一个1.o的可执行文件
gcc -c 1.c -o 2.o 生成一个2.o的可执行文件(本应该生成一个1.o,但是做了链接)
gcc -o 1 1.c 生成一个1的可执行文件(本应该生成一个1.o,但是做了链接)

-c就是编译,-o就是把前面的输出付给后面那个文件

gcc的最终也就是最后会生成一个可执行文件,然后直接在屏幕上输入这个可执行文件的位置就可以直接执行,一般是./1.c这种。


当然要创建一个文件:
要用vim,vim就是打开文件的意思,如果没有这个名字的文件,将会创建以这个名字命名的文件。接下来键"i"进入编辑模式
然后就是退出编辑模式:
1、按Esc键退出编辑模式。
2、输入一个":"冒号键,在左下角出现一个冒号。
3、输入一个"w"键,然后回车。你会看到下方提示已经written,说明保存成功了,这个文件也被自动创建。
如果要退出vi编辑器则把第三步的w换成q回车就退出了。
如果第三步想要保存退出,冒号后面写"wq"回车就行了,代表保存然后退出。或者直接写"x"回车也代表保存退出。
还有一点要补充的是退出vim编辑模式应该是wq! 强制退出


对Makefile的简易理解:
先摆一个例子:
test:123.o 456.o
gcc -o test 123.o 456.o
123t.o:123.c
gcc -c 123.c
456.o:456.c
gcc -c 456.c
clean:
rm -f test 123.o
首先要写一个目标文件,目标文件就是Makefile的首个文件。Makefile的目的就是要将这个目标文件test生成可执行文件,就要依靠后面这个文件123.o。如果123.o不是可执行文件,那就要往下边找,然后这个又是依靠后边那个123.c,123.c是我们自己编辑写的c语言源代码,然后最终就是要返回到那个目标文件test。
说了这么多还没有说为什么要写一个Makefile文件。因为如果有了Makefile文件,在编译c语言代码是就可以直接make一条语句就行了。
make是怎么运行的,make就是首先找到本目录下的Makefile文件,然后就是上边写的了。
比如说这个clean没有和test产生联系,所以make的时候就不会自动编译clean后面的语句。如果想要运行的话就要写test clean(即为清除所有的.o文件),或者rm -f+想要清除的文件名。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44749483/article/details/102689842

智能推荐

在AndroidStudio的layout目录下分文件夹_许进进的博客-程序员宝宝_android layout分目录

首先效果展示: 先在目录下创建需要分类的文件夹: 在build.gradle中添加代码  buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'progua...

scikit-learn机器学习笔记——朴素贝叶斯算法_学习爱好者fz的博客-程序员宝宝_scikit-learn 贝叶斯模型

scikit-learn机器学习笔记——朴素贝叶斯算法朴素贝叶斯算法贝叶斯公式拉普拉斯平滑朴素贝叶斯分类优缺点sklearn朴素贝叶斯实现APIMultinomialNB分类模型评估混淆矩阵精确率(Precision)与召回率(Recall)分类模型评估API朴素贝叶斯算法实例-sklearn20类新闻分类朴素贝叶斯算法贝叶斯公式P(C∣W)=P(W∣C)P(C)P(W)P(C \mid W)=\frac{P(W \mid C) P(C)}{P(W)}P(C∣W)=P(W)P(W∣C)P(C)​

【WSN优化】基于蝙蝠和遗传算法优化MacroFemtocell异构网络子载波分配优化问题附matlab代码和数学模型_Matlab科研工作室的博客-程序员宝宝

Macro/Femtocell作为新一代的异构网络,在用于增加网络覆盖量和提高吞吐量以及保证用户服务需求上有很大的优势,然而大规模的部署Femtocell会导致功率消耗显著增加,同时网络的能量效率也会明显下降.除此之外,为了提高频谱利用率,Macro/Femtocell之间通常采用共享频谱方案,这会导致Macro基站和Femtocell用户之间的跨层干扰,从而明显地降低异构网络的性能.针对上述问题,通过对多目标遗传算法的研究,提出基于能效优化的异构网络资源分配算法.该算法以能量效率为优化目标,在跨层干扰和功

mysql 不join的原因_weixin_34050005的博客-程序员宝宝

2019独角兽企业重金招聘Python工程师标准>>> ...

HashMap、HashSet、LinkedHashSet、TreeSet的关系_weixin_30617561的博客-程序员宝宝

类图及说明如下:可以看到HashSet是通过HashMap实现的,LinkedHashSet是通过accessOrder=false的LinkedHashSet实现,有趣的是这种聚合关系是在父类HashSet的构造函数中确定的,LinkedHashSet使用的是其中dummy便对应accessOrder,此处是ignored的。而LinkedHashSet的构造器如下:...

linux英汉字典代码,Ubuntu安装英汉词典(词库)详细步骤_野行涛哥的博客-程序员宝宝

Ubuntu安装英汉词典(词库)详细步骤发布时间:2013-05-26 11:26:08 作者:佚名 我要评论linux并不缺少词典软件、但是缺少词库、所有的词典软件都需要,自己下载安装词库、所以找词库成了一件麻烦的事情,下面与大家分享下Ubuntu安装英汉词典步骤,感兴趣的朋友可以参考下Ubuntu安装英汉词典linux并不缺少词典软件、但是缺少词库、所有的词典软件都需要 自己下载安装...

随便推点

ios UITableview 刷新某一个cell 或 section_Joycecsdn的博客-程序员宝宝

//一个section刷新    NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];   [tableview reloadSections:indexSetwithRowAnimation:UITableViewRowAnimationAutomatic];   //一个cell刷新    NSIndexPath *

Spring框架笔记,全网最详细!!!(12)_努力的Java工程师的博客-程序员宝宝

文章目录一、spring框架的概述1.Spring框架是什么2.Spring的优点3.Spring的体系结构二、IoC控制反转1.IoC的概述2.Spring的第一个程序1.实现步骤1.创建maven项目2.在pom.xml中加入spring的依赖3.创建接口和他的实现类4.创建Spring需要使用的配置文件5.测试Spring,通过spring创建对象2.获取容器中对象的数量和id值3.applicationContext.xml中定义bean的scope属性4.Spring能创建一个非自定义的类的对象3

【备忘】Intellij Idea远程调试及相应远程服务器端口配置_java_lincarrie的博客-程序员宝宝

1.  首先在IDEA中check出来你要调试的工程的代码,假设工程的名字为A。然后在IDEA打开这个工程。2.  因为我们用的是Tomcat,所以在IDEA中点击右上角那个“Edit Configurations”按钮,然后在弹出的界面中点击左上角的加号,选择tomcat server->remote 3.  在弹出的的界面中填写服务器的ip和工程

相关知识学习文章链接_sir_zeng的博客-程序员宝宝

【1】 海量Android教程、开发资料和源码【2】 海量Linux学习教程和开发资料【3】 海量C、C++、MFC和VC++教程、源码和开发资料【4】 海量Java教程、开发资料和源码我5年程序员人生的点点滴滴职场秘籍之什么样程序员升职快?程序员的第三条路:走向产品美国知名科技公司入门级软件工程师的薪水排名程序员也要养生     一个老程序员自己创

Mysql双主+keepalived(亲测有效)_狂人日志的博客-程序员宝宝_keepalived mysql双主

版本:CentOS Linux release 7.5.1804 (Core)keepalived-1.3.5.tar.gz mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz节点1 IP:192.168.52.187节点2 IP: 192.168.52.188VIP:192.168.52.189初始化sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config &...

推荐文章

热门文章

相关标签