
Linux C语言编程
文章平均质量分 77
介绍Linux以及C语言编程相关内容
liranke
似水流年是一个人所有的一切,只有这个东西,才真正归你所有。其余的一切,都是片刻的欢娱和不幸,转眼间就已跑到那似水流年里去了。
展开
-
Linux系统编程-进程暂停函数pause的使用,以及程序中止信号SIGINT的处理,signal信号注册
系统调用pause函数,来暂停当前进程,当前进程进入睡眠状态。直到接收到信号且信号函数成功返回,pause函数才会返回,而且返回值为-1。SIGINT信号的处理,以及处理函数的注册。原创 2011-06-02 12:57:00 · 7881 阅读 · 0 评论 -
Linux系统中环境变量的设置,getEnv,putEnv, environ全局变量的使用
环境表中存储了程序的运行环境的所有的环境变量,例如路径path,用户USER,Java环境变量JAVA_HOME...等等。environ全局变量的使用,getEnv和putEnv的使用原创 2010-05-16 20:55:00 · 3937 阅读 · 0 评论 -
Linux系统中socket编程,使用select多路复用来实现数据的监听
Linux系统提供了C语言函数select来进行各种事件的监听。在网络数据的多路复用中,select有着广泛的应用。原创 2010-12-22 16:20:00 · 1865 阅读 · 0 评论 -
Linux系统中的socket通信机制,server和client
Linux提供了socket函数来允许程序员创建基于socket的服务端(server)/客户端(client)应用程序。需要分别开发对应的服务端server和客户端client的代码。原创 2010-12-16 10:51:00 · 7225 阅读 · 2 评论 -
C语言中的内存空间,内存分配malloc
现代计算机操作系统中,重要的一个功能就是内存管理。在Linux系统中,提供了malloc函数来进行内存的分配,对应的,内存释放函数式free。原创 2007-12-20 21:44:00 · 6446 阅读 · 0 评论 -
Linux系统进程间通信:命名管道(FIFO) ,用mkfifo来创建
FIFO,即命名管道, 也是Linux系统的一种进程间通信方式,不同于匿名管道,命名管道可以进行“非父/子关系”进程间通信,而且以文件节点的形式在。使用mkfiifo可以创建这个文件节点文件。原创 2010-07-15 10:53:00 · 3328 阅读 · 0 评论 -
Linux系统进程间通信:标准流管道popen和pclose函数
Linux系统提供了两个标准流管道的操作函数popen和pclose。这两个函数实现的操作是:创建一个管道,fork一个子进程,关闭管道的不使用端,通过exec函数执行一个shell命令,等待命令终止。原创 2010-07-06 13:03:00 · 3322 阅读 · 0 评论 -
Linux系统调用之fork:创建一个进程
Linux系统是一个多进程操作系统,Linux内核提供了fork系统调用函数来创建一个进程。进程是操作系统分配给cpu的唯一单位。fork系统调用函数用于创建一个新的进程,这个新的进程就是子进程,子进程获得父进程数据空间、堆和栈的复制品。原创 2010-05-21 18:11:00 · 2939 阅读 · 0 评论 -
Linux系统中IO多路复用select函数的使用,及其在Android系统中的运用
Linux中提供了select系统调用来监听文件描述符的事件,可以实现I/O的多路复用,例如键盘输入事件,socket事件等。原创 2011-02-15 16:44:00 · 3305 阅读 · 0 评论 -
Linux系统中的函数跳转,setjmp() 和longjmp()的使用
setjmp() 和longjmp()用来进行函数的跳转,并且可以跳回到原来的位置继续执行。当程序员希望在某个时刻,跳回到以前的一个位置执行的时候,setjmp() 和longjmp()就派上用场了。原创 2010-07-06 12:42:00 · 2364 阅读 · 0 评论 -
JNI编写详细步骤实践,javac编译,gcc编译
本文进行native编程实践,将整个步骤以及注意事项做一个笔记。本次实践不使用任何集成开发编译环境,而是用最原始的文本编辑器+命令行的方式进行。原创 2010-03-28 23:05:00 · 3817 阅读 · 1 评论 -
C语言中的回调函数-根据时间差来调用回调函数,获取时间函数time
回调函数是一个通过函数指针调用的函数。所谓函数指针,就是指向函数的指针变量;而回调函数是一个函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。通常,回调函数是在特定环境或者条件下被执行,或者说,调用这个函数需要一定的条件。回调函数作为参数传递个调用者,由调用者来调用回调函数。原创 2009-11-24 00:30:00 · 3541 阅读 · 0 评论 -
i++语句经典分析:i++在单独语句和复合语句中的不同表现
当i++作为单独条件语句进行判定时,即使没有显示地声明与0的比较,编译器仍将加上与0的比较;当i++作为复合语句使用时,不管++是否在优先级更高的运算符中,++仍然最后才执行,即在当前所在语句操作执行之后。原创 2012-07-25 07:24:25 · 3623 阅读 · 4 评论 -
怎样学好C语言-C语言学习路线与思维导图,经典书籍推荐
根据个人经验,学好C语言须经历以下几个阶段,由于Linux 90%都是C编写的,而且应用广泛,这里主要强调在linux下学习为好,一方面,了解Linux操作系统,一方面学习C语言;1. 初级阶段: (1)达到的水平: 这个阶段,要求学习者系统地学会C语言本身。 掌握C的所有语法,将随便一本C语言教材里的知识点学习透彻,能够将书中的知识点都列出来,尤其是下面这些原创 2010-05-14 15:49:00 · 2199 阅读 · 0 评论 -
C语言字符串函数大全,字符串复制strcpy,字符串比较strcmp,字符串连接strcat,strstr,strncpy,strerror...
C语言字符串函数大全,字符串复制strcpy,字符串比较strcmp,字符串连接strcat,strstr,strncpy,strerror...原创 2010-03-29 21:35:00 · 2749 阅读 · 4 评论 -
C语言中的字符串转换函数-atof,atoi,atol,printf,tolower,toupper,toascii...等等
在C语言中,通常有2种方法进行字符串与数字的转换,一种是用pirntf系列函数来转换,另一种是调用C语言提供的字符串转换函数。atof,atoi,atol,printf,tolower,toupper,toascii...等等原创 2010-03-29 21:18:00 · 2321 阅读 · 0 评论 -
C语言编程实践-学生成绩管理程序
通过一个例子,来加深入C语言的语法学习。原创 2009-11-25 07:40:00 · 11081 阅读 · 4 评论 -
c语言常见错误说明
c语言常见错误说明关键词:C语言常见的错误说明, 中英文对照。Ambiguous symbol,Argument list syntax error,Array bounds missing......原创 2010-05-16 21:10:00 · 1754 阅读 · 1 评论 -
链表的运用-一个单链表的实现,list,malloc
链表是常用的数据结构。本文实现一个简单的单链表,主要实现三个函数:1,在末尾添加元素;2,从链表中删除元素;3,统计链表元素的个数。其余函数,读者有兴趣的话,可以自己实现。原创 2009-11-29 17:44:00 · 1887 阅读 · 0 评论 -
cygwin下编译zlib源码
本文介绍在cygwin下编译zlib源码的方法步骤,这个过程虽然简单,但还是有一些需要注意的地方。原创 2015-06-02 17:54:28 · 5415 阅读 · 0 评论 -
Linux进程间通讯之信号量
一. 什么是信号量信号量(Semaphore)-- 相当一个信号灯,程序里是一个非负整数,表示状态. 可以用来保护两个或多个关键代码段,这些关键代码段不能并发调用。在进入一个关键代码段之前,线程必须获取一个信号量。如果关键代码段中没有任何线程,那么线程会立即进入该框图中的那个部分。一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量原创 2010-05-15 18:02:00 · 2713 阅读 · 2 评论 -
Linux进程间通讯之共享内存
共享内存:使用共享内存和使用malloc()来分配内存区域很相似。使用共享内存的方法是: 1 对一个进程/线程使用shmget()分配内存区域。 2 使用shmat()放置一个或多个进程/线程在共享内存中,也可以用shmctl()来获取信息或者控制共享区域。 3 使用shmdt()从共享区域中分离。 4 使用shmctl()解除分配空间 共享内存是Linux中最快原创 2010-05-15 18:04:00 · 2501 阅读 · 0 评论 -
Linux进程间通讯所使用的系统调用函数
进程间通信:1.fork、exec和exit对IPC对象的影响2.fcntl记录锁3.管道和FIFO的属性4.管道和FIFO的限制5.pipe函数6.popen和pclose7.mkfifo函数8.System V IPC共性描述9.msqid_ds结构10.msgget函数11.msgsnd函数12.msgrcv函数13.msgctl函数。原创 2010-05-15 17:36:00 · 4198 阅读 · 0 评论 -
Linux进程间通讯之消息队列
1. 基本概念消息队列的最佳定义是:内核地址空间中的内部链表。消息可以顺序地发送到队列中,并以几种不同的方式从队列中获取。当然,每个消息队列都是由 IPC标识符所唯一标识的。2. 内部和用户数据结构要完成理解象系统 V IPC这样复杂的问题,关键是要彻底熟悉内核的几个内部数据结构。甚至对那些最基本的操作来说,直接访问这些结构中的某几个结构也是必要的,而其他的结构则停留在原创 2010-05-19 17:54:00 · 6451 阅读 · 0 评论 -
Linux系统中exec函数蔟的使用:execl,execv,execle,execve,execlp,execvp
Linux系统提供了六种不同的exec函数可供使用,它们常常被统称为exec函数蔟。exec函数的功能是执行另一个程序,这里的另一个程序是由exec函数的参数来指定的。当进程调用一种exec函数时,该进程完全由新程序代换,而新程序则从其main函数开始执行。需要注意的是,掉用exec并不创建新进程,所以,pid(进程id)并没有改变。exec只是用另一个新程序替换了当前进程的正文、数据、堆和栈段。原创 2011-01-14 15:23:00 · 3211 阅读 · 0 评论 -
Linux系统中的文件控制fcntl函数的使用
Linux系统中,可以用fcntl函数改变一个已打开的文件的属性,可以重新设置文件为读、写、追加、非阻塞等标志,而不需要再调用open函数。原创 2011-02-22 10:20:00 · 2811 阅读 · 0 评论 -
Linux系统编程-定时器(闹钟)函数alarm的使用,以及SIGALARM信号的处理
alarm()用来设置定时器。时间到了,就会向当前进程发送SIGALRM信号。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。如果未设置信号SIGALARM的处理函数,那么alarm()默认处理终止进程。原创 2011-06-28 18:12:00 · 10555 阅读 · 4 评论 -
Linux下几个文件和文件夹相关的命令:ls列出文件列表;df,du查看文件/文件夹大小
1. 内容简介:本节介绍结果常用的文件和文件夹相关的命令:ls:列出文件列表;df,du查看文件/文件夹大小由于Android系统是基于linux的,而我一直在进行Android程序的开发,所以以Android系统为例,进行介绍。原创 2011-11-15 10:03:58 · 1667 阅读 · 0 评论 -
VIM最常用的命令
有同学非常羡慕那些不用鼠标,不用图形界面编程软件,只用键盘,噼里啪啦,代码就写好了。喜欢使用命令行进行代码编辑的同学,对vim并不陌生,本文列出了vim最常用的命令,在必要的时候,可以查看一下,增强编程能力。VIM最常用的命令总结。原创 2011-11-09 17:14:43 · 1663 阅读 · 0 评论 -
Linux编程-GCC编译命令的使用,gcc
GCC,即GNU编译器套件(GNU Compiler Collection),是最为广泛使用的编译器之一,几乎包含了我们熟知的大部分编程语言,包括CC、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等)。正如某些流行的技术一样,一开始,并没有想到会发展的如此庞大和广泛,GCC的初衷是为GNU操作系统专门编写的一款编译器。原创 2013-12-02 17:17:15 · 1479 阅读 · 0 评论 -
操作系统实践-在Ubuntu recovery模式下找回密码
在ubuntu环境下,忘记root密码怎么办? 不要着急,ubuntu的recovery模式可以找回root密码。root密码找回。原创 2014-05-07 13:07:26 · 6327 阅读 · 2 评论 -
Linux 下zip包的压缩与解压
Linux 下zip包的压缩与解压:1. linux zip 命令详解 : 功能说明:压缩文件。 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b ][-ll][-n ][-t ][-][压缩文件][文件...][-i ][-x ] 补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。 参转载 2014-05-15 17:48:31 · 1465 阅读 · 0 评论 -
Ubuntu网络配置
本篇描述Ubuntu系统下的网络配置。配置大概分三类:通过配置文件配置、通过命令配置、通过图形化的网络连接菜单配置。gedit /etc/resolv.conf重启网络:sudo /etc/init.d/networking restart原创 2014-05-17 11:03:18 · 12625 阅读 · 0 评论 -
win7下安装ubuntu
1. 安装步骤:原创 2014-05-21 15:06:49 · 1087 阅读 · 0 评论 -
Linux下的gdb常用调试命令
Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。原创 2014-07-24 20:19:24 · 1104 阅读 · 0 评论 -
Linux下进程信息的深入分析
来源于:这里我们主要介绍进程的状态,进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看.如果说到工具大家用的最多的ps也可以看到进程的信息.这里我们通过/proc/PID/status来分析进程的信息.在2.6.18之后的内核,多了capibilty/cpusets等信息.查看进程状态信息如转载 2014-09-19 16:03:16 · 1205 阅读 · 0 评论 -
Linux系统进程间通信:匿名管道pipe
管道是最早的进程间通信方式之一,早在UNIX系统中就存在了,几乎所有的UNIX系统都支持这种方式。原创 2010-06-12 10:15:00 · 2137 阅读 · 0 评论 -
Linux编程-GDB工具的使用,gcc,gdb
1. 内容简介:GDB是GNU symbolic debugger的简称,顾名思义,它是一个调试器,可以用GDB进行C/C++语言的调试。GDB受GPL(公共许可证)的保护。当我们进行C,C++程序进行调试的时候,经常要进行断点调试,以及查看变量,寄存器,内存及堆栈信息,甚至改变内存值,GDB可以轻松做到这些。说白了,GDB是一个功能很强大的调试器,在Linux系统中,通常大部分都自带C,C++语言的GDB调试器,通过一系列命令来进行调试。原创 2010-02-06 19:54:00 · 1636 阅读 · 0 评论