linux下c开发
文章平均质量分 70
koches
这个作者很懒,什么都没留下…
展开
-
linux下的C语言开发(makefile编写)
对于程序设计员来说,makefile是我们绕不过去的一个坎。可能对于习惯Visual C++的用户来说,是否会编写makefile无所谓。毕竟工具本身已经帮我们做好了全部的编译流程。但是在Linux上面,一切变得不一样了,没有人会为你做这一切。编代码要靠你,测试要靠你,最后自动化编译设计也要靠你自己。Makefile 介绍首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个转载 2012-05-28 15:15:00 · 27623 阅读 · 0 评论 -
linux下C语言多线程
下面先来一个实例来感受下linux下C语言多线程编程的乐趣!我们通过创建两个线程来实现对一个数的递加。先不去理会代码的含义,我们先运行linux,在其中编写我们的第一个C语言多线程程序。#include #include #include #include #define MAX 10pthread_t thread[2];pthread_mutex_t mut;i原创 2012-07-25 21:42:03 · 13187 阅读 · 1 评论 -
Linux 开启SSH
在使用SSH时,经常会出现用ssh secure shell client连接linux连接不上:解决方法如下: 如果没安装ssh,其安装过程:1.以root身份登入系统(没登入系统和没有足够的权限都不能安装,晕,这不是废话) 2.检查安装系统时是否已经安装SSH服务端软件包: rpm -qa|grep openssh 若显示结果中包含openssh-serve原创 2012-07-27 09:52:40 · 4624 阅读 · 0 评论 -
RedHat 9图形界面与命令行界面切换
Redhat要可以在命令行界面及窗口界面间相互切换,必需保证启动模式是默认启动动命令行界面,然后再在命令行界面输入startx之类命令启动到窗口界面,然后可以按ctrl+alt+F1回到命令行界面,ctrl+alt+F7回到窗口界面要使系统默认启动到命令行界面,需要如下操作:1、查看inittab文件$ cat /etc/inittab 2、找到下面这一行# D原创 2012-07-26 23:18:42 · 2101 阅读 · 0 评论 -
linux中fork--子进程是从哪里开始运行
fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值: 1)在父进程中,fork返回新创建子进程的进程ID; 2)在子进程中,fork返回0; 3)如果出现错误,fork返回一个负值;创建新进程成功后,系统中出现两个基本完全相同的进程,这两个进程执行没有固定的先后顺序,哪个进程先执行要看系统的进程调度策略。此时,两个进程都从fo原创 2012-07-29 09:41:09 · 12551 阅读 · 13 评论 -
内核风格缩进工具indent
indent工具可以把代码格式化成某种风格。-kr选项表示K&R风格,-i8表示缩进8个空格的长度。如果没有指定-nut选项,则每8个缩进空格会自动用一个Tab代替。注意indent命令会直接修改原文件,而不是打印到屏幕上或者输出到另一个文件,这一点和很多UNIX命令不同。可以看出,-kr -i8两个选项格式化出来的代码已经很符合本章介绍的代码风格了,添加了必要的缩进和空白,较长的代码行也会自转载 2012-08-24 10:45:24 · 1312 阅读 · 0 评论 -
让系统更安全之锁定内存
转载请注明出处:http://blog.csdn.net/muge0913/article/details/7314854Linux 实现了请求页面调度,页面调度是说页面从硬盘按需交换进来,当不再需要的时候交换出去。这样做允许系统中每个进程的虚拟地址空间和实际物理内存的总量再没有直接的联系,因为在硬盘上的交换空间能给进程一个物理内存几乎无限大的错觉。交换对进程来说是透明的,应用程序一般转载 2012-07-25 21:54:29 · 4958 阅读 · 0 评论 -
linux下C语言多线程(四)线程中止
1. 线程终止方式 一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。2. 线程终止时的清理 不论是可预见的线程终止还是异常终止,都会存在资源释放的问原创 2012-07-25 21:44:42 · 12965 阅读 · 1 评论 -
gdb调试
编写代码过程中少不了调试。在windows下面,可以使用visual studio工具。在linux下面呢,实际上除了gdb工具之外,没有别的选择。那么,怎么用gdb进行调试呢?我们可以一步一步来试试看。 调试代码如下#include int iterate(int value) { if(1 == value) re原创 2012-05-10 22:08:48 · 1056 阅读 · 0 评论 -
linux下C语言多线程(三)线程同步
一. 互斥锁 尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中定义了另外一套专门用于线程同步的mutex函数。1. 创建和销毁 有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下:转载 2012-07-25 21:44:03 · 2680 阅读 · 0 评论 -
linux下C语言多线程(二)线程的私有数据
一. 概念及作用 在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变量,所有线程都可以使用它,而它的值在每一个线程中又是单独存储的。这就是线程存储的意义。这样的数据结构可以原创 2012-07-25 21:43:42 · 3210 阅读 · 0 评论 -
linux下C语言多线程(五)杂项函数
在Posix线程规范中还有几个辅助函数难以归类,暂且称其为杂项函数,主要包括pthread_self()、pthread_equal()和pthread_once()三个,另外还有一个LinuxThreads非可移植性扩展函数pthread_kill_other_threads_np()。本文就介绍这几个函数的定义和使用。1. 获得本线程ID pthread_t pthread_self(转载 2012-07-25 21:45:08 · 1594 阅读 · 0 评论 -
linux下C语言多线程(一)线程的创建与取消
linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。#include int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr,原创 2012-07-25 21:43:05 · 33105 阅读 · 1 评论