當前位置:首頁 » 編程軟體 » gcc編譯多線程

gcc編譯多線程

發布時間: 2022-02-12 23:22:37

Ⅰ gcc糾錯,一個有錯誤的多線程求孿生素數的c程序,20小時之內解決追加懸賞分

~~ 能不能把你的問題再說清楚一點? 我跑你的程序 我看到輸出了。我看你程序就只有一個printf()函數~~

unsigned int size = ((totbits / 32)) + 1;

bitArray = malloc((sizeof(unsigned int)) * size);

這兩條語句是不是應該寫在 while()循環的後面?否則你的數大於1000就會出現段錯誤了

linux下多線程編譯問題

你編譯的時候有加多線程連接選項嗎? 要加上 -lpthread 或者 -pthread (盡量選後者)
例如 gcc -pthread -o test main.cpp

另外你的線程創建的不對,函數指針不能強轉類型(這里也不用轉)
pthread_create(&procter_t,NULL,(void*)procter_f,NULL);
pthread_create(&consumer_t,NULL,(void*)consumer_f,NULL);

應該是
pthread_create(&procter_t,NULL,procter_f,NULL);
pthread_create(&consumer_t,NULL,consumer_f,NULL);

Ⅲ 用gcc怎麼編譯多線程程序 最好寫出命令來

果已經寫好了源文件,那麼cd進所在的目錄gccfilename.c-ofilename./filename

Ⅳ 現在用gcc編譯出來的程序能在多個核的cpu上一起跑嗎還是只能在一個核上跑

gcc編譯出來的程序能在多個核的cpu上一起跑,也可以在一個核心上執行——至少MinGW開發的多線程程序在Win2003的確如此。
國外很早就有人研究多核心進程調度問題,國內研究的人似乎不普遍。

Ⅳ LINUX中GCC支持C++線程嗎如果支持那麼C++的線程庫是什麼

#include <thread> // GCC 4.7

#include <thread> // VC++11.0

#include <thread>
#include <iostream>

int main() {
std::thread t1([]() {

std::cout << "Hello," << std::endl;

});

std::thread t2([]() {

std::cout << "Fuck" << std::endl;
});

t1.join();

t2.join();

system("pause");

}

Ⅵ gcc編譯線程程序,為什麼要加-lpthread,頭文件已經包含了<pthread.h>了啊

-lpthread是鏈接庫,

<pthread.h>只有申明,實現部分都在庫裡面。

創建線程時一般是把函數的指針做參數,所以要加一個取地址符號。

ret=pthread_create(&id,NULL,(void *)&thread,NULL);

另外,建議要檢查一下創建線程的返回值ret是否成功,防止影響後面的代碼。

(6)gcc編譯多線程擴展閱讀:

每個語言編譯器都是獨立程序,此程序可處理輸入的原始碼,並輸出組合語言碼。全部的語言編譯器都擁有共通的中介架構:一個前端解析符合此語言的原始碼,並產生一抽象語法樹,以及一翻譯此語法樹成為GCC的暫存器轉換語言〈RTL〉的後端。

編譯器最佳化與靜態程序碼解析技術(例如FORTIFY_SOURCE,一個試圖發現緩沖區溢位〈buffer overflow〉的編譯器)在此階段應用於程序碼上。最後,適用於此硬體架構的組合語言程序碼以Jack Davidson與Chris Fraser發明的演算法產出。

Ⅶ gcc 編譯選項 -pthread -lpthread 異同

-pthread 比 -lpthread 多了一個宏定義 -D_REENTRANT

對於多線程程序來說這個宏非常重要,這個宏會讓libc和一些其他庫,自動選擇線程安全的函數實現(很多函數有線程安全和不安全的2種實現版本)

所以建議使用-pthread 或者加上 -D_REENTRANT.

Ⅷ 如何用gcc在linux下編譯多線程c語言程序

如果已經寫好了源文件,那麼cd進所在的目錄gccfilename.c-ofilename./filename

Ⅸ 關於openmp 多線程能不能不用gcc

openmp默認使用schele取決於編譯器實現gcc默認使用schele(dynamic,1)態調度並且塊1程序面種調度及其低效看代碼都能預期太能比單線程快
態調度種簡單理解式計算任務存任務隊列面for循環每i值應計算任務每線程每提取批任務計算批少呢前面說塊程序面1提取任務需要操作呢任務隊列線程共享提取任務前必須加鎖讀取批隊列移除解鎖說應該已經知道原
線程提取計算任務任務完快所16線程排著隊逐加鎖搶任務解鎖讓其線程繼續搶馬發現任務快要重新排隊等任務始終處於飢餓狀態注意排隊候能要佔cpu使用busy wait所能看十六核滿負荷其實啥沒干
我建議使用static schele或者增加dynamic schele塊比1024取決於循環少般知道每循環執行間基本都並且專用伺服器設置affinity其負荷oversubscriptionnuma問題static schele比較選擇每線程做哪些任務需要進行配化openmp本身消耗

Ⅹ c的多線程實現

1.pthread(Posix thread)
2.Sort of.

熱點內容
自動編譯div 發布:2025-01-12 18:51:06 瀏覽:660
手機路由器如何登陸密碼 發布:2025-01-12 18:35:41 瀏覽:464
電光貓無法連接伺服器是什麼原因 發布:2025-01-12 18:32:58 瀏覽:512
迷你世界測試服的密碼從哪裡打開 發布:2025-01-12 18:25:32 瀏覽:111
我的世界手游tis伺服器 發布:2025-01-12 18:24:28 瀏覽:585
青海省分布式伺服器雲主機 發布:2025-01-12 18:12:03 瀏覽:477
英雄聯盟安卓手機版怎麼切換 發布:2025-01-12 18:10:53 瀏覽:382
q5尊享時尚型哪些配置 發布:2025-01-12 18:05:41 瀏覽:230
安卓版本哪裡下載 發布:2025-01-12 18:05:39 瀏覽:557
mc伺服器搭建搜不到 發布:2025-01-12 17:57:37 瀏覽:19