![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日心得
ToT_God
这个作者很懒,什么都没留下…
展开
-
Unix下共享内存机制 unsigned short 与 char 互相转换 GCC编译共享内存
2010.9.91.使用GCC在Solaris编译共享内存函数时,需要加上-lrt。否则,系统将无法引入头文件,而导致编译报错。2比如把short i;的高八位给char c;c=(i>>8)&0xFF;低八位给char d的话: d=i&0xFF;你要能把所有数据存储在内存的情况都相通就OK了..对于内存来说没有什么char ,int ,short之分..我就和你讲一个取高位的情况吧.i=0x5F43;//高八位是5Fi>>8;//i右移八位结果是0x005Fc=(i>>8)&0xFF;//因为C是八位的原创 2010-09-09 17:02:00 · 1013 阅读 · 0 评论 -
Solaris下守护进程编码 2010.9.8
<br />2010.9.8<br />1.Unix命令查看进程——ps;<br /><br />2.任何项目做完后,都要对结果进行校验。然后再发布<br /><br />3.进程A调用int pid=fork()之后,实际上是克隆出来一个子进程B。<br />进程A是进程B的父进程;进程B是进程A的子进程。<br />进程B与进程A在堆栈、环境、状态方面在fork的时候是一样的。<br />在进程A即父进程fork()的返回值非0,返回的是子进程的pid;在进程B即子进程fork()返回的是0。根据返回值原创 2010-09-09 17:26:00 · 422 阅读 · 0 评论 -
信号量编程心得 共享内存增加、减小心得 2010.9.10
2010.9.101.信号量(Semaphore)是一个防止共享内存被多个进程或者同一进程的多个线程同时读、写而设置的一个信号开关。功能类似,停车场。比如有3个车位同时有五辆汽车准备停靠。信号量就像停车场的管理员,当他发现三个车位满员后,就会落下栏杆。让后面的汽车等待,而非进入停车场停靠。2.sem_t *sem_open(const char *name, int oflag,/* unsigned long mode, unsigned int value */); name:信号量名称原创 2010-09-10 15:24:00 · 590 阅读 · 0 评论 -
2010.9.13
<br />2010.9.13<br />1.老生常谈的问题了,但必须再次强调!!!:函数中,任何形式返回前,必须检查该释放的内存空间是否被释放。特别是new、molloc,已经fopen、信号量、互斥锁等。(今天我就范了个错误,molloc忘记free了。-。-)<br /> <br />2.原型:extern void bzero(void *s, int n); <br /> 用法:#include <string.h><br /> 功能:将指针s的前n位置零。<br />和memset(void*原创 2010-09-13 19:17:00 · 396 阅读 · 0 评论 -
sem_open 和 errno的使用问题
<br />使用共享库,遇到一个sem_open的问题。<br /> <br />当时的写法是:<br />sem_open( pSemName, O_CREATE | O_RDWT);<br />编译通过,但程序执行到此时,就崩了。<br />后来查看errno后,得到是参数错误。<br />因为是在写入函数中,打开信号量。<br />所以,正确的写法应该是<br /> <br />sem_open(pSemName, O_RDWT);<br /> <br />应该区分创建和打开。原创 2010-09-29 10:39:00 · 2261 阅读 · 0 评论 -
2010.9.27 Solaris下date用法
<br />1。修改系统时间<br />首先要是root权限才行<br />修改方法:<br />date [月][日][小时][分钟][年份]<br />date 092712132010<br />原创 2010-09-27 12:13:00 · 859 阅读 · 0 评论