国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

錯誤:sem_union的存儲大小未知問題的解決方法

2020-01-26 14:24:46
字體:
來源:轉載
供稿:網友

今天在編譯代碼的時候提示 錯誤: ‘sem_union'的存儲大小未知

問題原因:在新版2.6內核中關于union sem_union 這個聯合體已經被注釋了,需要自己寫這個聯合體.

解決方案:在C文件中先定義:

union semun {	int val;  	struct semid_ds *buf; 	unsigned short *array;}sem_union;

隨后編譯時它就能找到預先定義好的sem_union聯合體了.

Linux下編譯時出現的錯誤及解決方法

(1)由于是Linux新手,所以現在才開始接觸線程編程,照著GUN/Linux編程指南中的一個例子輸入編譯,結果出現如下錯誤:

undefined reference to 'pthread_create'

undefined reference to 'pthread_join'

問題原因:

pthread 庫不是 Linux 系統默認的庫,連接時需要使用靜態庫 libpthread.a,所以在使用pthread_create()創建線程,以及調用 pthread_atfork()函數建立fork處理程序時,需要鏈接該庫。

問題解決:

在編譯中要加 -lpthread參數

gcc -o thread thread.c -lpthread

thread.c為你些的源文件,不要忘了加上頭文件#include<pthread.h>

(2)出現警告:內建函數strlen不兼容的隱式聲明,內建函數exit不兼容的隱式聲明

問題原因:因為函數strlen在string內,exit在stdlib內。在文件中沒有添加頭文件 string.h和stdlib

問題解決:在文件中添加頭文件 string.h和stdlib

(3)出現錯誤:sem_union的存儲大小未知

問題原因:在新版2.6內核中關于union sem_union 這個聯合體已經被注釋了,需要自己寫這個聯合體

問題解決:在C文件中先定義

union semun {int val; struct semid_ds *buf; unsigned short *array;} sem_union;

隨后編譯時它就能找到預先定義好的sem_union聯合體了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 神木县| 当雄县| 内丘县| 伊春市| 汾阳市| 长葛市| 桦川县| 通城县| 隆林| 周宁县| 梁山县| 平顶山市| 广宁县| 永新县| 石林| 宜都市| 博湖县| 临高县| 饶河县| 茶陵县| 滦南县| 禹城市| 全椒县| 德庆县| 汝南县| 赤城县| 广丰县| 凉城县| 琼结县| 林芝县| 南平市| 拜泉县| 通渭县| 神木县| 榆树市| 五大连池市| 铜陵市| 蒙阴县| 抚远县| 水富县| 株洲县|