windows无法为g-(windows无法为g-文件保存所有数据)

来源:191路由网 2022-12-19 08:49:57

(windows无法为g:文件保存所有数据) 前言

前两天有群里在群里问了如下问题:

大概就是用C语言写了一个socket程序,在Linux下使用gcc编译没问题,而在Windows下使用gcc(装了MinGW,编译环境已经装好)编译会提示没有找到socket相关的头文件。为什么会出现这样的问题?本篇笔记我们来简单分析一下。

头文件从哪来?

在进行分析之前,我们需要思考一个问题:我的C编程相关的头文件从哪来?

1、Windows系统:电脑

对于Windows系统,其本身是不带有C语言的一些库及其头文件。我们要进行C语言编程,必须要安装一些开发包(IDE或者MinGW、Cygwin等)。而我们C编程需要的头文件就在这些开发包中。比如:

(1)MinGW中:

(2)Dev-C++中:

(3)keil中:

我们单片机开发中,有时候也会用到一些标准库,比如keil中:

2、Linux系统:

对于Linux系统,C语言的库及其头文件都是属于系统中的一部分,只要安装了编译工具就可以就行C程序的开发。其相关的头文件在/usr/电脑include中:

Windows、Linux下C编程区别?

首先,我们准备一个demo.c代码:

#include <stdio.h>?int main(void){ printf("hello world\n"); return 0;}

在Windows下使用gcc进行编译(编译命令:gcc -v demo.c),加-v参数可以看到编译过程的头文件搜索的一些路径信息及其它信息:

这几个路径就是我们编译demo.c时需要搜索头文件的路径,即从这几个路径中查找stdio.h头文件,该头文件所在的路径为:

这个路径是一个很重要的路径,我们C编程使用的一些标准库头文件都放在这个目录下。C语言的标准库包含哪些头文件?可以到这个网站查看:

https://en.cppreference.com/w/c/header

可以看到,这个C:\MinGW\include路径中不仅包含有着一些标准库头文件,还包含很多其它的头文件。这些头文件就是与Windows 系统相关的一些头文件,比如:

类似这些头文件是为了开发专门的Windows 程序专用的,比如Windows API编程:

编译运行:

这个程序用到了windows.h头文件,这是我们Windows下C编程特有的头文件,与Windows系统密切相关。这样的代码在Linux下使用gcc编译是编译不通过的。

这里需要特别提醒的是:上面列举的Windows API编程程序是为了说明才举例出来的,Windows API编程虽说也可以编写一些界面程序,但基本上已经被淘汰了,所以不用花时间去学。

下面看一下Linux下gcc编译的一些情况:

/usr/include路径:

可以看到这里放着一些标准库头文件及其它头文件。而socket编程相关的头文件在/usr/include/sys中:

电脑

从上面的举例说明中可以很清楚的知道,对于socket编程,Windows、Linux下socket编程也有点不太一样,具体如下:

所以,那位群友把Linux下写的socket程序拷贝到Windows下编译则自然编译出错,即找不到相应头文件。

综上,我们可以在Windows下基于C语言开发一些与Windows密切相关的程序;我们也可以在Linux下基于C语言开发一些与Linux密切相关的程序。

以上就是本次的分享,如有错误,欢迎指出!谢谢



电脑
点击展开全文

相关阅读

怎么让win10变回win7-(win10怎样变回win7)

(win10怎样变回win7)这下,使用Win11系统的人真的是要被气到了。对于电脑来说,系统有多重要,也是不需要小编多说了吧。为此,大家在挑选系统的时候,应该保持谨慎的态度。简单来说,就是根据实际情况选择安装什...

2022-12-19

windows无法为g-(windows无法为g-文件保存所有数据)

(windows无法为g:文件保存所有数据)前言前两天有群里在群里问了如下问题:大概就是用C语言写了一个socket程序,在Linux下使用gcc编译没问题,而在Windows下使用gcc(装了MinGW,编译环境已经装好)编译会提示没有找到socket相关的头文件。为什么会出现这样的问题?本篇笔记我们来简单分析一下。头文件从哪来?在进行分析之前,我们需要思考一个...

2022-12-19

u盘两个系统怎么选择-(U盘两个系统怎么选择装)

(U盘两个系统怎么选择装)我们在使用电脑的时候多多少少会听到这么一句话:电脑出了问题重启解决90%的问题,重装解决100%的问题。所以说学会重装系统是一件非常重要的一个技能,它不仅可以为你省下去电脑店的钱,还可以激发你下次重装的欲望,因为大家都有这么一个特征:只要学会了一次重装,那你就会重装第二次,三次,四次乃至无数次,除非电脑报废。说一个真实案例:我大学学的是电子通信专业,额,...

2022-12-19

windows7怎么开机还原-(windows7开机还原出厂设置)

(windows7开机还原出厂设置)恢复出厂设置便是将系统恢复成一开始取得新电脑时的状态。和重装系统实际效果类似,但并不等于重装系统,重装系统能够切换系统版本号等,并且更加繁杂。大家应用电脑上时,很有可能会发生卡屏、病毒感染无法彻底清理这些很多难题的存有,电脑这时候用户们一般会选择让电脑上恢复出厂设置,可是有的win7用户还不知道如何开展恢复出厂设置的操作,不知道的小伙伴们就可...

2022-12-19

u盘peuefi-()

()最近讨论得很火的一个话题:u盘启动盘制作工具软件哪个好?通俗地说,也就是哪个PE系统最好用、体验最好?首先说明,大家千万不要以为制作U盘启动盘后,启用PE系统只能是重装系统!PE系统的本意是为了方便大家安装电脑系统,与此同时,PE系统也开发了很多实用的工具,比如:新硬盘无操作系统无分区,需要PE;系统忘记登录密码不想重装,需要PE;系统崩电脑溃还有资料在桌面或者C盘,需要PE;全盘数...

2022-12-19

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除