关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
你以为C语言是单身狗?它和linux那些不为人知的关系了解一下
[复制链接]
作者:
BJFIO
版块:
›
嵌入式操作系统
›
linux
发布时间:
2020-10-24 21:25:34
1751
0
返回列表
BJFIO
当前离线
中级会员
中级会员, 积分 319, 距离下一级还需 181 积分
中级会员
中级会员, 积分 319, 距离下一级还需 181 积分
积分
319
发消息
楼主
电梯直达
BJFIO
发表于 2020-10-24 21:25:34
|
只看该作者
|
倒序浏览
|
阅读模式
如果你以为C语言是一个独立的个体,那你就错了。其实,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分是linux本身就是C语言的杰出作品。当然,linux操作系统本身对C语言的支持也是相当到位的。作为一个真正的程序员来说,如果没有在linux下面用C语言编写过完整的程序,那么只能说他对C语言本身的理解还相关肤浅,对系统本身的认识也不够到位。
作为程序员来说,linux系统为我们提供了很多理想的环境,这其中包括了下面几个方面:
(1)完善的编译环境,包括gcc、as、ld等编译、链接工具
(2)强大的调试环境,主要是gdb工具
(3)丰富的自动编译工具,主要是make工具
(4)多样化的os选择,ubuntu、redflag等等
(5)浩瀚的开源代码库
当然,不管怎么说,最终朋友们还是应该自己勇敢地跨出前进的第一步。如果还没有过Linux编程经验的朋友可以首先在自己的pc上面安装一个虚拟机,然后就可以在shell下面编写自己的C语言代码了。
编写完上面的代码后,你需要做的就是两个步骤:1、输入 gcc hello.c -o hello;2、输入./hello。如果一切正常的话,此时你应该会在屏幕上看到一行hello的打印。如果你看到了,那么恭喜你,你已经可以开始linux的c语言编程之旅了。
当然,我们不会满足于这么简单的打印功能。下面就可以编写一个简单的迭代函数:
此时,同样我们需要重复上面的步骤:1、输入gcc hello.c -o hello;2、输入./hello。当然此时如果一切OK的话,你就会看到屏幕会有55这个数的输出。本来1到10的数据之和就是55, 这说明我们的程序是正确的。
当然, 还会有一些朋友对程序的反汇编感兴趣,那么他需要两个步骤:1、gcc hello.c -g -o hello;2、objdump -S -d ./hello。之所以在gcc编译的时候加上-g是为了添加调试信息,objdump中的-S选项是为了在显示汇编代码的时候同时显示原来的C语言源代码。
我认为, C是一门编程语言,只要有编译器就可以编译成可执行程序。linux是一门操作系统,是一个编译好程序,用C和汇编编写出来的。可以理解为水泥和楼房的关系,C是水泥,linux是楼房,水泥可以盖楼可以铺路,楼房是水泥和其他材料盖成的。因此,C语言不是独立的个体,它与linux是相辅相成,相互联系的。
到这里你是不是对“
C语言
”又有了一点新的认知呢~
如果你也想成为程序员,想要快速掌握编程,这里为你分享一个
学习企鹅圈子
!
里面有资深专业软件开发工程师,在线解答你的所有疑惑~C语言入门“so easy”
资料包含:编程入门、游戏编程、课程设计、黑客
等。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
Python编程语言知多少?
•
大多数程序员接触过的技术_负载均衡,但大多数都不知其核心原理
•
在linux下实现重定向和文件查找
•
vagrant、docker、virtualbox之间的区别
•
推荐10个不错的网络监视工具,建议收藏!
•
Nyxt浏览器:一个受Emacs和Vim启发的面向键盘的网页浏览器|Linux中国
•
十个问题理解Linuxepoll工作原理
•
许式伟:Go+门槛比Go低,小孩6年级开始学Go+
•
对话胡伟武:和国产CPU一起突围的20年
•
《Linux内核编码风格》官方手册最新中译本
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表