商务网站建设毕业设计模板下载,c 做网站session用法,wordpress适合外贸站,如何制作网站详细教程回首入行9年的经历#xff0c;从大一开始学习C语言和数据结构#xff0c;老师一直是在用IDE演示程序的编写和运行#xff0c;我们也就一直在跟黑乎乎的命令行窗口打交道。 后来在一些课程的实验环节#xff0c;接触到了一些别人编写好的工程代码#xff0c;知道了Makefile… 回首入行9年的经历从大一开始学习C语言和数据结构老师一直是在用IDE演示程序的编写和运行我们也就一直在跟黑乎乎的命令行窗口打交道。 后来在一些课程的实验环节接触到了一些别人编写好的工程代码知道了Makefile和make从而得知了抛开IDE在命令行手动编译c程序的办法。 还记得C语言课程设计就是开发一个学籍管理系统用文件存储数据不用数据库那个时候还不知道数据库要求选择文字界面或者图形界面。 当时跟着课程实验的指导书以为那个就是图形界面过了很多年才知道那个虽然显示一些数据列表但是仍然是文字界面因为程序输入输出都是在命令行窗口里。 当时有同学用了gtk写界面让人感觉的十分高大上不明觉厉。跟gtk做出来的图形界面相比课程实验指导书后面的操作界面实在是难看、low、拿不出手。但是没有办法因为一开始并不知道有gtk的存在也不知道该怎么用c语言写图形界面更没有学长学姐可以问也没有跟同学充分沟通交流他们怎么写图形界面完完全全就是自己闷头照抄实验指导书的代码。等我发现有同学在用gtk写出很好看的图形界面的时候时间已经来不及了我已经没有时间去换成gtk只能硬着头皮硬上。而且当时感觉gtk写出来的界面这样好看肯定学起来很麻烦、很困难。 后来做操作系统课程设计的时候也是要求要有图形界面当时有个实验课助教告诉我们c可以用Qt写界面后面开始学习Qt。 后来做数据库课程设计的时候也是要求要有图形界面当时有个实验课助教告诉我们图形界面可以用c#来写。当时就觉得很厉害心里也在感叹这些助教、这些学长学姐实在是太厉害了会好多种编程语言。因为当时学校里只教c语言c还是选修课。但是这些助教、这些学长学姐会很多除了c/c语言以外还会Java、Python、C#、Javascript会写网站会写图形界面实在是太厉害了。但是当时由于畏惧新学习一门语言的困难所以还是继续使用Qt完成数据库课程设计。 现在想想自己自学能力大幅提升也就是在那个环境下被逼出来的。但是其实我非常不喜欢那种氛围学长、学姐、老师总是喜欢叫我们自己百度自己查。根本没有人给我们做背景介绍和常识介绍。根本没有场合交流这些东西。 学校里有很多的技术俱乐部据说在那些社团里面就是整天讨论这些但是想要进入这些社团是有门槛和条件的会有申请和考核很不好进去的。那些社团里的人三年以后掌握了很多技术十分有利于毕业找工作。 在学院同一届的学生里也有很多很厉害的人他们会很多的技术什么安卓开发IOS开发Web开发不仅如此他们还会很多的编程语言。 所以在同学之间关于这些知识的学习存在着很大的差别有的人走的很远有的人除开学校教的内容以外什么都不会以至于后者在问问题的时候会问很多在前者看来很蠢、很白痴的问题。在前者看来就是常识性的东西居然有人还不知道。他们有的时候都不愿意回答让你自己百度上网查。有的时候还会奚落你几句可能他是无心的但是已经足够让你知道自己在问一个多么蠢的问题以至于激起了自己的自尊心和羞耻感觉得自己总是在问一些很蠢的问题问这些问题很丢人所以后面渐渐的没有人问了都自己查闷着头自己做很少与人交流。但是没有人引导自己弄清楚这些问题十分的困难。一度让自己觉得非常的自卑自己闷头学习所遇到的巨大困难一次次的在劝退自己。 现在回想起来这种环境的氛围十分糟糕。因为大家都在攀比在炫耀在给那些走的比较远、懂得比较多的同学戴高帽在吹捧那些同学同时在打击其他同学学习的积极性和自尊心。而不是在相互学习和交流。 中途在学习汇编语言的时候在课本最后一章莫名其妙的介绍了win32 API编程老师还在课堂上演示了win32 API编程。可是当时学的昏头昏脑、云里雾里的也不知道有什么用用来干什么。现在想想最讨厌这种蜻蜓点水式的东西只给你介绍了一些微末的东西连入门都不算。 中途在听学Java Web的同学介绍各种Java Web的框架的时候听说了一些tomcat、servlet、JSP、Ajax、jQuery、Javascript、css、html、Spring、Structs、Hibernate还有什么COM、MFC、.NET、.NET Framework、win32 API、ASP.NET实在是令人头痛感觉课外学习压力巨大。 学习这些课程的过程中遇到的这些问题由于忙着赶各种作业、准备实验、写实验报告、准备考试都没有时间去弄明白。寒暑假的时候只顾着赶紧回家玩了更没有规划出时间来把这些弄明白。 好像扯远了本文一开始是想说命令行程序、文字界面和图形界面的。 言归正传从一开始黑乎乎的命令行窗口到后来的gtk、Qt、c#win32等图形界面。最近在看c/c的文档的时候发现一个很大的问题。原以为c的标准库里有很多东西只是我们不知道罢了结果发现很多都没有。什么网络编程、进程、线程全都没有。但是我又记得我在windows环境下写一个邮件客户端当时就是用了套接字。可是c的标准库里却没有。 在查阅了微软的文档技术文档 | Microsoft Learn以后我惊讶的发现套接字和网络编程真的不是c语言的标准不仅如此连进程线程都不是。这些全都依赖于开发环境所在的操作系统linux和windows都分别有支持。网络协议栈什么tcp、udp、ip、套接字全都是操作系统内核的东西不同的操作系统实现不一样接口也不一样。 C语言和C语言跟Python、Java真的是太不一样了。Python、Java提供了各种各样的库甚至对第三方开源库也十分的支持使用简便还跨平台。但是C语言和C语言就不跨平台就拿套接字、网络编程、进程、线程来说如果你用C语言或者C语言来写套接字、网络编程、进程、线程相关的代码你要十分明确自己所在的开发环境和以后代码正式运行的环境是在哪个操作系统因为在不同的操作系统下#include需要引入的头文件和使用的函数是不一样的。这些依赖于操作系统的头文件以及函数的具体实现是操作系统提供的c库/c库引入这些库也是环境配置的一部分工作否则编译链接会有问题的。 就当初在windows环境下写一个邮件客户端使用了套接字这一问题我查阅了微软的文档技术文档 | Microsoft Learn以后发现当初确实是使用了windows的库。 在这个文档里我也搞清楚了当初那些名词COM、c#、.NET、.NET Framework、win32 API、MFC、ASP.NET是怎么回事。 win32 API 是windows给c语言提供的库和接口可以用来写界面、访问网络以及其他各种c标准里没有的事情。 MFC是一个C类库和框架也可以用来写界面在win32 API和COM API的基础上包装了一层。 ASP.NET是用来开发网站的。 .NET Framework是一种技术支持生成和运行 Windows 应用及 Web 服务。 .NET是一个免费的、跨平台的、开源的开发平台用于生成多种类型的应用程序。包括控制台应用、web应用、桌面应用、游戏、手机APP、windows服务。 C#是.NET开发用的语言。 COM不是一种语言不是一个库只是一个用c语言写的编程接口。类似于JAVA中的interface只有函数说明没有函数实现使用虚基类弄的。目的就是为了规范编程作为一种编程范式。 Linux系统为C语言提供的库和API叫做glibc.