导航:首页 > 操作系统 > clinux开发

clinux开发

发布时间:2022-11-15 11:51:03

A. linux下的c/c++开发

我就是做LINUX下的C开发的。

准确的说,LINUX下C才是主要的开发语言,但是写应用程序还是要用面向对象的,尤其是图形界面的,不如QT和X和GTK等等。下面说的必须要求你C语言学的很好而且会使用LINUX的情况下。LINUX常用命令要熟悉。

要学LINUX下的C编程,先看一两本LINUX下C的书比较好,这个你自己选择,但是经典的书还是好一些,比如《LINUX程序设计》、《UNIX环境高级编程》,看这些的时候把书上的例子选择一些自己编译一下,哪怕是照着敲进去,事半功倍。

看完一本这样的书,你对LINUX系统编程的知识就足够了,这时候你可以开始阅读一些LINUX下的源代码来锻炼和提升能力了,LINUX下有很多开源的软件,你可以搜一下,应用程序也很多,但是最好的源代码还是LINUX内核。

推荐一本简单的内核书《linux内核完全剖析0.12》,这个讲的是0.12内核,代码量只有1万多行的内核,现在的2.6估计一千万,一辈子看不完。这个书讲了很多X86体系结构的知识,这时理解内核必备的,汇编你要能看懂。

能看懂内核代码了,就说明你至少不是初学者了,现在肯定能开发项目了,有了经验后,恭喜你,你就成为一名LINUX程序员了。

再由这些基础后,你就可以选择一些具体的开放方向了,比如底层一点,驱动,协议等、或者嵌入式应用等、或者是QT等。不过这就是后话了,呵呵

我自己的一些体会,希望能对你有用。

B. Linux 下进行 C/C++ 开发一般使用什么开发环境

Linux的C/C++开发环境一般都是文本编辑器(Vim、emacs等)+编译器(GCC、g++、make、cmake)+调试器(gdb),用集成开发环境IDE(比如codeblocks、eclipse-cdt)的比Windows平台要少。我才开始用的是eclipse-cdt,也是觉得IDE不好用,而且写一个helloworld都要产生一大堆文件(也不知道这些文件什么作用),用git来维护管理代码也非常不方便,而且如果编写的是命令行程序会反复切换到终端,还不如直接在终端编译,总之太不灵活了。不过如果gdb用得不习惯的,可以选择用gdb的图形前端ddd和Kdbg这两个软件。也有觉得命令行编辑器不习惯的,他们会选择图形界面的gVim+各种插件,或者图形功能更好的代码编辑器如gedit、Sublime Text、Atom、VScode等等。

C. 从事C/C++开发或者java开发都必须学习Linux吗 Linux对开发有什么帮助主要总来做

从事C/C++开发或者java开发不是必须都要学习Linux, 想要学习这方面的知识推荐千锋教育,优秀的教师团队提供教学,优秀的教学资源供每位学生学习,多年来培养众多优秀人才,可靠放心。

一般C/C++开发或者java开发都是服务器软件,一般服务器上linux环境居多.所以有的要求linux。总之就是他们用,所以想招一个会用的人。明显的有什么帮助还真没觉得,但是用linux开发感觉挺方便的,工具也多。用惯了linux之后,就再也不想切回windows了。

想要了解更多有关java开发的相关信息,推荐咨询千锋教育。千锋教育成立教研学科中心,推出贴近企业需求的线下技能培训课程。课程包含HTML5大前端培训、JavaEE+分布式开发培训、Python人工智能+数据分析培训、全链路UI/UE设计培训、云计算培训、全栈软件测试培训、大数据+人工智能培训、智能物联网+嵌入式培训、Unity游戏开发培训、网络安全培训、区块链培训、影视剪辑包装培训、游戏原画培训、全媒体运营培训。采用全程面授高品质、高体验培养模式,非常值得选择。

D. linux c开发: 在程序退出时进行处理

有时候,希望程序退出时能进行一些处理,比如保存状态,释放一些资源。c语言开发的linux程序,有可能正常退出(exit),有可能异常crash,而异常crash可能是响应了某信号的默认处理。这里总结一下这些情况,如何获取一个统一的退出处理的点,说白了就是写一个回调函数,让他在程序正常或异常退出时调用。

这个例子里面其实是将异常退出处理和正常退出处理结合起来了。对于SIGTERM(即kill进程)和SIGINT(即ctrl-c结束前台进程),我们当做是正常退出,在其信号处理函数里面,直接调用了exit(0),而exit(0)又会被server_on_exit捕获到。对于异常退出也是类似,只是调用了exit(-1)表示是异常的。同时异常退出我们会打印出当前的进程堆栈信息,server_backtrace的实现下一篇再说。另外注意的是SIGKILL信号是无法捕获的。而调用abort导致的退出,也是通过SIGABRT信号捕获到进行处理了。其他几种异常退出的信号也是比较常见,一并捕获到进行处理。这样对于异常退出,我们即可统一的log堆栈信息,又可直接继续正常退出时的处理流程了。

E. 在Linux下如何开发C程序

在Linux开发环境下,GCC是进行C程序开发不可缺少的编译工具。GCC是GNU C Compile的缩写,是GNU/Linux系统下的标准C编译器。虽然GCC没有集成的开发环境,但堪称是目前效率很高的C/C++编译器。《linux就该这么学》非常值得您一看。Linux平台下C程序开发步骤如下:
1.利用编辑器把程序的源代码编写到一个文本文件中。
比如编辑test.c程序内容如下:
/*这是一个测试程序*/
#include<stdio.h>
int main(void)
{
printf("Hello Linux!");
}
2.用C编译器GCC编译连接,生成可执行文件。
$gcc test.c
编译完成后,GCC会创建一个名为a.out的文件。如果想要指定输出文件,可以使用选项-o,命令如下所示:
$gcc-o test1 test.c
这时可执行文件名就变为test1,而不是a.out。
3.用C调试器调试程序。
4.运行该可执行文件。 在此例中运行的文件是:
$./a.out 或者 test1
结果将得出:
Hello Linux!
除了编译器外,Linux还提供了调试工具GDB和程序自动维护工具Make等支持C语言编程的辅助工具。如果想要了解GCC的所有使用说明,使用以下命令:
$man gcc

F. linux下的C语言开发(管道通信)

姓名:冯成 学号:19020100164 学院:丁香二号书院

转自:https://feixiaoxing.blog.csdn.net/article/details/7229483

【嵌牛导读】本文将介绍linux下的C语言开发中的管道通信

【嵌牛鼻子】linux C语言 管道通信

【嵌牛提问】linux下的C语言开发中的管道通信是什么?

Linux系统本身为进程间通信提供了很多的方式,比如说管道、共享内存、socket通信等。管道的使用十分简单,在创建了匿名管道之后,我们只需要从一个管道发送数据,再从另外一个管道接受数据即可。

#include <stdio.h>

#include <unistd.h>

#include <stdlib.h>

#include <string.h>

int pipe_default[2]; 

int main()

{

    pid_t pid;

    char buffer[32];

    memset(buffer, 0, 32);

    if(pipe(pipe_default) < 0)

    {

        printf("Failed to create pipe!\n");

        return 0;

    }

    if(0 == (pid = fork()))

    {

        close(pipe_default[1]);

        sleep(5);

        if(read(pipe_default[0], buffer, 32) > 0)

        {

            printf("Receive data from server, %s!\n", buffer);

        }

        close(pipe_default[0]);

    }

    else

    {

        close(pipe_default[0]);

        if(-1 != write(pipe_default[1], "hello", strlen("hello")))

        {

            printf("Send data to client, hello!\n");

        }

        close(pipe_default[1]);

        waitpid(pid, NULL, 0);

    }

    return 1;

}

    下面我们就可以开始编译运行了,老规矩分成两步骤进行:(1)输入gcc pipe.c -o pipe;(2)然后输入./pipe,过一会儿你就可以看到下面的打印了。

[test@localhost pipe]$ ./pipe

Send data to client, hello!

Receive data from server, hello!

G. 如何在linux下编写大型c程序

Linux下面开发C程序的过程大致为:编辑源文件--调试--编写makefile文件--编译及安装(发布的话打包源码发布或者打包rpm、deb发布)。
(1)编辑源文件的方式有很多种,厉害的可以使用vim,配合插件,据说很牛,我只会基本操作,i,wq之类的。推荐学一下vim,学会了很厉害,学不会也最起码保证打开文件,编辑文件,保存文件没问题。有小改动的时候,我会使用vim。
或者使用windows下面的notepad,有大改动的时候我会配合smb使用notepad。
再或者在ubuntu下面安装eclipse,进行文件编辑,对于熟悉eclipse是不错的选择。
(2)调试:
小型的程序,gdb就行
大点的程序,找IDE吧,比如eclipse
(3)对于makefile文件,小型的程序可以自己编写,大点的使用autotool工具生成,至于autotool工具如何使用,请自行上网搜。
使用eclipse的话,配置好之后进行编译。
(4)安装问题:有makefile的话,linux安装程序的经典步骤 configure,make,make install即可。
如果不是很大型的话,把自己的代码放在/usr/local软件名/下面,需要的库放在系统库路径下,或者把运行路径添加到环境变量中。也能运行。
(5)发布的时候
打包源码发布,.tar.gz
打包成rpm、deb包,自行搜索教程。

我也在摸索中,分享一下经验,仅供参考,如有出错,还请见谅。

H. linux下c开发有哪些发展方向

linux下C主要是这几个方向

操作系统内核
驱动程序
gnome等部分gui
嵌入式、手机底层开发

和windows不同,linux的应用层很少用C/C++关于Linux的学习,你可以看看《linux就该这么学》,系统的学习一下相关知识,地址是3w(dot)linuxprobe(dot)com,good luck.

I. 小弟问一下各位前辈,做linux下面的C开发一般用什么IDE和调试工具

Linux系统C语言开发一般不用IDE,因为Linux系统C或者C++语言IDE并不能带来方便,相反还有点繁琐,主要是不够灵活。Linux C编程一般都是在文本编辑器中写代码(具体用哪个文本编辑器完全是个人喜好,专业的文本编辑器往往要比IDE的代码编辑功能要更好更强大),然后在命令行下编译(编译可以用gcc命令、g++命令,也可以编写一个makefile然后用make命令。如果你学会了makefile的编写,比IDE要方便多了,只输入一句make然后按下回车不就和点击编译按钮一样么),调试是用gdb。为什么说IDE不够灵活呢,举个例子,你编写了一个程序需要调用一个共享库,但是你不知道怎么编译(就是不知道该加什么编译参数),你网络一下后,就知道编译的命令了,但是你不知道怎么控制IDE的行为,它能正常编译还好,如果不能正常编译,你就会各种折腾,效率肯定不高。
如果你实在偏爱IDE,Linux上的IDE也不少(这里只列举C/C++的IDE),有codeblocks、eclipse-cdt、codelites。调试工具也有图形界面的,比较好用的有KDbg、Affinic Debugger GUI。

J. Linux系统下的C语言开发都需要学些什么

一、工具的使用 1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。 2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。 3、掌握gcc和gdb的基本用法。掌握gcc的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。 4、掌握svn/cvs的基本用法。这是linux,也是开源社区最常用的版本管理系统。可以去试着参加sourceforge上的一些开源项目。 二、linux/unix系统调用与标准C库 系统调用应用软件与操作系统的接口,其重要性自然不用说,一定要掌握。推荐学习资料为steven先生的UNIX环境高级编程(简称APUE)。 三、库的学习 无论是在哪个平台做软件开发,对于库的学习都很重要,linux下的开发库很多,我主要介绍一下我常常用到的一些库。 1、glib库 glib 库是gtk+和gnome的基础库,并具是跨平台的,在linux、unix和windows下都可以用。glib库对于linux平台开发的影响就像 MFC对windows平台开发的影响一样,很多开源项目都大量的使用了glib库,包括gimp、gnome、gaim、evolution和 linux下的集群软件heartbeat.因为glib库自带有基本的数据结构实现,所以在学习glib库的时候可以顺便学习一下基本的数据结构(包括链表、树、队列和hash表)。 2、libxml库 libxml是linux平台下解析XML文件的一个基础库,现在很多实用软件都用XML格式的配置文件,所以也有必要学习一下。 3、readline库 readline 库是bash shell用的库,如果要开发命令行程序,那么使用readline库可以减少很多工作量,比如bash里的命令行自动补全,在readline里就已经有实现,当然你也可以用自己的实现替代库的行为。readline库有很多网站介绍的,只要google一下readline就可以找到一堆了。 4、curses库 curses 库以前是vi程序的一部分,后来从vi里提取出来成为一个独立的库。curses库对于编写终端相关的程序特别有用,比如要在终端某一行某一列定位输出,改变终端字体的颜色和终端模式。linux下的curses库用的是GNU实现的ncurses(new curses的意思)。 5、gtk+和KDE库 这两个库是开发GUI应用程序的基础库,现在linux下的大部份GUI程序都是基于这两个库开发的,对于它们 的学习也是很有必要的。 四、网络的学习

阅读全文

与clinux开发相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163