你好。 在分时系统里应该没什必要吧 setpriority/getpriority,这两个
函数描述的是改变
进程优先级。 但是在linux中
线程就是一个轻量级的进程, 所以这两个函数是可以作用于单独的线程的 如果我的回答没能帮助您,请继续追问。简单的实现,没有添加同步机制,回头再添加上去,而且,我是在不同终端里面写的,你可以把两段代码,一个放到父进程,一个放到子进程...就可以了你说的这些API,自己man 一次,看看说明就知道用法了.... 楼上说的对齐的问题,我没有太注意..不过,不管你要共享什么,一个sizeof看看大小,一个memcpy拷贝,你就作为数据直接拷贝到共享内存区域就OK了...另外一边再拷贝回来,用一个结构体类型的指针指向你拷贝回来的数据,不就给这部分内存再规划成一个结构体了。。至于具体的, KEY 的含义,你需要了解linux的ipc机制。 #include #include #include #include #define BUF_SIZE 100 #define KEY 99 int main(void) { int shmidchar *shmptrshmid=shmget(99,BUF_SIZE,IPC_CREAT|0666)if(shmid==-1) { printf("Shared Memory Created error...\n")exit(0)} shmptr=shmat(shmid,NULL,0)if(shmptr==(void*)-1) { printf("shmat error,shmptr= %d \n",shmptr)exit(1)} while(1) { printf("type strings into Shared Memory:")fgets(shmptr,BUF_SIZE,stdin)} return 0} 下面这段就每隔10秒钟扫描共享内存区域的内容: #include #include #include #include #define BUF_SIZE 100 #define KEY 99 int main(void) { int shmidchar *shmptrshmid=shmget(99,BUF_SIZE,IPC_CREAT|0666)if(shmid==-1) { printf("Shared Memory Created error...\n")exit(0)} shmptr=shmat(shmid,NULL,0)if(shmptr==(void*)-1) { printf("shmat error,shmptr= %d \n",shmptr)exit(1)} while(1) { printf("Infomation in Shared Memory:")printf("%s \n",shmptr)sleep(10)} return 0}如果程序运行时是以控制台形式呈现的,那么它肯定会有主函数的。或许就在那个几源码文件.cpp里。
方法一、查找方法停掉工程,以.txt记事本方式打开.cpp文件进行查找主函数入口。
方法二、直接按调试按钮。
评论列表(0条)