linux C编程
文章平均质量分 58
wyqwsg
这个作者很懒,什么都没留下…
展开
-
Linux下C语言编程--时间概念
学习Linux的时间表示和计算函数 1.时间的表示 2.时间的测量 3.计时器的使用 -------------------------------------------------------------------------------- 1。时间表示 在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果.这个时候我们可以转载 2012-10-07 09:19:11 · 680 阅读 · 0 评论 -
信号
#include #include #include #include static void sigaction_handler(int signo, siginfo_t *info, void *ctx){ printf("signo = %d, pid %d\n", signo, info->si_pid); } static void sign原创 2012-10-29 20:54:08 · 309 阅读 · 0 评论 -
bzero
原 型:extern void bzero(void *s, int n); 头文件:#include 功 能:置字节字符串s的前n个字节为零且包括‘\0’。 char buf[128];bzero( buf, sizeof(buf) );//等价于memset(s, 0, siezof(buf));原创 2012-10-30 19:44:15 · 522 阅读 · 0 评论 -
c++ 概念
1、类和对象类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。类的结构(也即类的组成)是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的。这些行为是通过一种操作接口来描述的(也即平时我们所看到的类的成员函数),使用者只关心的是接口的功能(也就是我们只关心类的各个成员函数的功能),对它是如何实现的并不感兴趣。而操作接口又被称为原创 2012-10-31 00:21:53 · 346 阅读 · 0 评论 -
qt class 中的explicit的意思
class Widget : public QWidget{ Q_OBJECT public: explicit Widget(QWidget *parent = 0);};explicit主要用于 "修饰 "构造函数. 指明构造函数只能显示使用,目的是为了防止不必要的隐式转化.原创 2012-11-10 09:26:28 · 925 阅读 · 0 评论 -
ubuntu nfs设置
1、安装nfssudo apt-get install nfs-kernel-server2、配置/etc/exports新建目录,在用户目录下新建 mkdir nfssudo vim /etc/exports在文件末尾添加/home/lsc(用户目录)/nfs *(insecure,rw, sync,no_root_squash)3、关闭防火墙sudo iptable原创 2012-11-13 19:40:10 · 360 阅读 · 0 评论 -
指针函数与函数指针的区别
1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:float *fun()原创 2012-11-25 09:47:25 · 290 阅读 · 0 评论 -
如何设置终端的字符颜色
在 ANSI 兼容终端(例如 xterm、rxvt、konsole 等)里, 可以用彩色显示文本而不仅仅是黑白。 下面的语句就输出高亮的黑色背景的绿色字。printf("\033[1;40;32m%s\033[0m",” Hello,world!/n”);\033 声明了转义序列的开始,然后是 [ 开始定义颜色。后面的 1 定义了高亮显示字符。然后是背景颜色,这里面是40,表示黑色原创 2012-12-25 19:30:59 · 946 阅读 · 0 评论 -
static
一、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。注意:全局变量和全局静态变量的区别 1、全局变量是不显式用static修饰的全局变量,但全局变量默认是动态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量。 2、全局静态变量是显式用static修饰的全局变量原创 2012-10-11 15:15:26 · 473 阅读 · 0 评论 -
__attribute__((packed))的作用
在结构体变量的声明中,经常可以看到__attribute__((packed))修饰符。这是做什么用的呢?__attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。例子:struct ip{ unsigned char x:2; unsigned char y:2; unsign原创 2012-10-11 10:47:11 · 533 阅读 · 0 评论 -
大小端模式
所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;所谓的小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。例如一个16b原创 2012-10-11 10:18:30 · 439 阅读 · 0 评论 -
linux C 多线程
1、线程创建 int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void* (*routine)(void*), void *arg);2、合并线程 int pthread_join(pthread_t thread, void **retval);3、获取线程i原创 2012-10-07 09:48:19 · 576 阅读 · 0 评论 -
线程的互斥锁
[头文件]#include [注意]互斥锁是非异步安全,也就是说在信号处理中使用互斥锁容易造成死锁[创建]/* * @brief 静态创建并初始化互斥锁 * @param[in] PTHREAD_MUTEX_INITIALIZER 互斥锁结构常量 */ pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER原创 2012-10-08 09:28:23 · 283 阅读 · 0 评论 -
定时启动任务函数
#include #include #include #include ITIMER_REAL SIGALRMITIMER_VIRTUAL SIGVTALRMITIMER_PROF SIGPROF void timer(int signo)SIGALRMstruct itimerval value;struct itimerval { str原创 2012-10-08 10:19:25 · 419 阅读 · 0 评论 -
线程条件变量
#include [注意]互斥锁是非异步安全,也就是说在信号处理中使用互斥锁容易造成死锁[创建]/* * @brief 静态创建并初始化条件变量 * @param[in] PTHREAD_COND_INITIALIZER 条件变量结构常量 */ pthread_cond_t cond = PTHREAD_COND_INITIALIZER;/* * @b原创 2012-10-08 09:50:32 · 371 阅读 · 0 评论 -
线程键
大家都知道,在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变量,所有线程都可以使用它,而它的值在每一个线程中又是单独存储的。这就是线程存储的意义。 下面说一下线程存储的具体用法。1) 创建一个类型为 pthread_key_t 类型的变量。原创 2012-10-07 15:30:01 · 1004 阅读 · 0 评论 -
线程的信号灯
[头文件]#include [创建]/* * @brief 信号灯初始化 * @param[in|out] sem 信号灯 * @param[in] pshared 多进程共享,linux下只支持0(只能用于进程内部线程共享) * @param[in] value 信号灯初始值 * @return 结果 *原创 2012-10-08 10:04:22 · 442 阅读 · 0 评论 -
网络通信之tcp编程
代码:服务端#include #include #include #include #include #include int main(int argc, char **argv){ int fd, client_fd; struct sockaddr_in localadd, remoteadd; int ret; char buf[1024原创 2012-10-09 16:23:39 · 292 阅读 · 0 评论 -
typeof关键字
typeof与typedef的区别:typedef用来定义类型别名,c/c++里都有,属于语言的一个特性,和mfc无关比如typedef int* intptr;intptr a; // 相当于int* a;typeof,我所知道的是gcc中对c/c++语法的一个扩展,用来静态获取参数类型比如int a = 3;typeof(a) b = 4; // 相当于原创 2012-10-11 08:45:55 · 309 阅读 · 0 评论 -
串口
Linux 操作系统从一开始就对串行口提供了很好的支持,本文就 Linux 下的串行口通讯编程进行简单的介绍。 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIARS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串转载 2012-12-12 12:31:44 · 516 阅读 · 0 评论