本文目录一览:
- 1、linux下C语言
- 2、基于Linux下的C语言编程
- 3、Linux系统下的C语言开发都需要学些什么
- 4、linux下的C语言学习
- 5、怎么用linux写c语言
- 6、linux与c语言有什么异同?
linux下C语言
my_strlen 是函数, 参数应该用括号扩起来;
而且, 这个程序有别的问题, 第15行的while循环语句如何结束? 指针变量str1,str2 的指向位置没有后移
基于Linux下的C语言编程
#include unistd.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
#include stdio.h
#include string.h
int
main()
{
int fd;
char * p = "hello";
char buf[256] = {0};
if (-1 != (fd = open("./new.txt", O_RDWR)))
{
if (-1 != write(fd, p, strlen(p)))
{
printf("WRITE OK\n");
}
else
printf("WRITE FAILED\n");
close(fd);
}
if (-1 != (fd = open("./new.txt", O_RDONLY)))
{
if (-1 != read(fd, buf, 256))
printf("READ: %s\n", buf);
close(fd);
}
return 0;
}
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程序都是基于这两个库开发的,对于它们 的学习也是很有必要的。
四、网络的学习
linux下的C语言学习
装 Fedora 。
掌握的知识至少要先会用吧?
Linux 的开发环境不是一个单独的程序,而是很多相互补充的程序互相配合组成的。编译器有编译器,程序连接器有单独的连接器,编译控制器有单独的控制器。开发环境有开发环境,头文件有功能软件库提供……
很多需要的事情……
---------------
你开发难道不想用别人的功能库?难道所有功能都自己写?包括图形界面字符界面的所有的函数都自己写?
开发程序不光只有 gcc binutils make 就行了,比如有的时候你需要 pkg-config 来获取某些函数库的信息,有的时候你需要某些 C header 。有的时候你还需要一些附加的工具来生成某些数据。
ubuntu 这些东西默认不安装。如果你能知道你需要什么,自己会去找对应的开发用 C header 文件,那么我就不在说什么了。
我见过许多用 ubuntu 开发的人,跑来问怎么为什么写的 GTK 程序提示找不到 Header 。之后让他自己装他还不知道装哪个,哪个文件里面有他需要的 Header 。结果我的建议是完全安装,对于 ubuntu 来说,这个有点不可思议。但 Fedora 轻松无比,选上开发部分的所有内容即可。
让别人用 RH9 的是骗子,别理他们。
怎么用linux写c语言
Linux正在成为开发人员的编程天堂,成为开源和免费操作系统。 Turbo C编译器已经是一种编译程序的旧方法,所以让程序员转向Linux以获得新的编程环境。 在本文中,我们将解释如何编写,编译和运行一个简单的C程序。 这将成为您迁移到可以在Linux上编写和执行的更复杂和有用的C程序的基础。
我们在Ubuntu 18.04 LTS系统上运行了本文中提到的步骤和命令。
我们将使用Linux命令行工具Terminal,以编译一个简单的C程序。 要打开终端,您可以使用Ubuntu Dash或Ctrl + Alt + T快捷方式。
第1步:安装build-essential软件包
为了编译和执行C程序,您需要在系统上安装必要的软件包。 在Linux终端中以root用户身份输入以下命令:
sudo apt-get install build-essential
系统会要求您输入root用户密码; 安装过程将在此之后开始。 请确保您已连接到互联网。
第2步:编写一个简单的C程序
安装必要的软件包之后,让我们编写一个简单的C程序。
打开Ubuntu的图形文本编辑器,将以下示例程序写入或复制到其中:
#includestdio.h
int main()
{
printf("nA sample C program ");
return 0;
}
然后使用.c扩展名保存文件。 在这个例子中,我将我的C程序命名为linuxidc.c
或者,您可以通过gedit中的终端编写C程序,如下所示:
gedit linuxidc.c
这将创建一个.c文件,您可以在其中编写和保存程序。
第3步:使用gcc编译C程序
在终端中,输入以下命令以生成您编写的程序的可执行版本:
句法:
$ gcc [programName].c -o programName
示例:
$ gcc linuxidc.c -o linuxidc
linux与c语言有什么异同?
C和Linux C基本上没有什么区别。
我们意义上的普通C,是标准ANSI C,是任何C编译器都应该遵循的C语言协议。
而Linux C其实特指的是Linux上的GCC编译器,GCC编译器完全遵循ANSI C,并在此基础上又做了一些扩展,例如:
1)对ASM语法的支持
2)编译器支持内联函数
3)支持__attribute__机制