RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Windows下使用pthread-開發(fā)環(huán)境搭建

嵌入式USB開發(fā) ? 來源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-06-08 10:32 ? 次閱讀

本文轉自公眾號,歡迎關注

Windows下使用pthread-開發(fā)環(huán)境搭建 (qq.com)

一.Windows下使用pthread-開發(fā)環(huán)境搭建

圖片

1.1 下載源碼

1.https://sourceforge.net/projects/pthreads4w/files/ 比官網新一點2018年 3.0版本

2.https://sourceware.org/pthreads-win32/ 官網 最新2012年 2.9.1版本

ftp://sourceware.org/pub/pthreads-win32/ 源碼下載

https://sourceware.org/pthreads-win32/manual/index.html API參考

3.https://github.com/GerHobbelt/pthread-win32 適配了MSVC的版本

1.2 庫編譯

使用上述第3個資源,因為MSVC編譯環(huán)境都適配好了。

這里使用MSVC2022

打開pthread-win32\\windows\\VS2022\\pthread.2022.sln,

有三個工程分別是,生成動態(tài)鏈接庫dll,靜態(tài)鏈接庫lib和測試的工程。

圖片

點擊左側目錄,解決方案’pthread.2022’

菜單欄點擊 生成->生成解決方案 開始構建

圖片

生成的dll和lib位于pthread-win32\\windows\\VS2022\\bin\\Debug-Unicode-64bit-x64下

其中

動態(tài)鏈接庫使用

pthread.dll

pthread.dll

靜態(tài)鏈接庫使用

pthread_static_lib.lib

1.3 測試

在解決方案目錄,右鍵點擊屬性

圖片

修改啟動項目

圖片

然后點擊如下圖標運行

圖片

pthread-win32\\tests\\wrapper4tests_1.c中測試用例

TEST_WRAPPER(test_sequence2);會失敗

先注釋掉該用例。

看到測試結果如下:

圖片

1.4 在自己工程中使用

1.4.1 使用靜態(tài)鏈接庫

新建空白WIN32程序

將上述的

pthread.dll

pthread.lib

pthread_static_lib.lib

復制到工程目錄Src/pthread/lib下

圖片

將源碼pthread-win32下的所有.h文件復制到

復制到工程目錄Src/pthread/inc下

圖片

右鍵點擊工程名->屬性

圖片

設置Lib文件夾路徑

$(MSBuildProjectDirectory)\\Src\\pthread\\lib;

圖片

設置lib文件

圖片

設置頭文件包含路徑$(MSBuildProjectDirectory)\\Src\\pthread\\inc;

圖片

添加源文件main.c,內容如下

創(chuàng)建兩個線程,分別延時不同時間。

#include < stdio.h >
#include < pthread.h >


static void* thread1(void* arg)
{
  const struct timespec interval = { 1L, 500000000L };
  while (1)
  {
    pthread_delay_np(&interval);
    printf("thread1\\r\\n");
  }
  return 0;
}


static void* thread2(void* arg)
{
  const struct timespec interval = { 3L, 0L };
  while (1)
  {
    pthread_delay_np(&interval);
    printf("thread2\\r\\n");
  }
  return 0;
}


int main(void) 
{
  pthread_t t1;
  pthread_t t2;
  pthread_create(&t1, NULL, thread1, NULL);
  pthread_create(&t2, NULL, thread2, NULL);
  while (1);
}

構建項目,然后運行

可以看到基本是thread1運行兩次thread運行1次,和其delay時間是兩倍關系對應。

圖片

使用靜態(tài)鏈接庫編譯的話exe文件可直接運行。

1.4.2 使用動態(tài)鏈接庫

與靜態(tài)鏈接時一樣

只是配置鏈接的庫文件是pthread.lib

圖片

運行時需要將exe文件和pthread.dll放在一起。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19104

    瀏覽量

    304791
  • WINDOWS
    +關注

    關注

    3

    文章

    3541

    瀏覽量

    88619
  • 開發(fā)環(huán)境

    關注

    1

    文章

    225

    瀏覽量

    16609
  • 環(huán)境搭建

    關注

    0

    文章

    53

    瀏覽量

    9051
收藏 人收藏

    評論

    相關推薦

    Windows基于MSVC搭建libjpeg開發(fā)環(huán)境

    Windows基于MSVC搭建libjpeg開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:23 ?1706次閱讀
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于MSVC<b class='flag-5'>搭建</b>libjpeg<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows基于MSVC搭建libusb開發(fā)環(huán)境

    Windows基于MSVC搭建libusb開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:25 ?3054次閱讀
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于MSVC<b class='flag-5'>搭建</b>libusb<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows基于MSVC搭建ffmpeg開發(fā)環(huán)境

    Windows基于MSVC搭建ffmpeg開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:27 ?1931次閱讀
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于MSVC<b class='flag-5'>搭建</b>ffmpeg<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows基于MSVC搭建SDL開發(fā)環(huán)境

    Windows基于MSVC搭建SDL開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:29 ?1579次閱讀
    <b class='flag-5'>Windows</b><b class='flag-5'>下</b>基于MSVC<b class='flag-5'>搭建</b>SDL<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    開發(fā)環(huán)境搭建教程

    android Windows系統(tǒng)開發(fā)環(huán)境搭建
    發(fā)表于 03-22 17:42 ?0次下載

    搭建C語言開發(fā)環(huán)境Windows平臺)匯總

    本文給大家匯總了5種在WIN平臺下搭建C語言開發(fā)環(huán)境的方法,包括在Windows平臺配置GNU環(huán)境,使用Sublime Test
    的頭像 發(fā)表于 02-01 10:03 ?3727次閱讀

    php開發(fā)環(huán)境搭建和使用

    本文主要介紹的是php開發(fā)環(huán)境搭建和使用。apache在默認情況下不會處理php頁面,Apache處理php頁面的步驟:即:php開發(fā)環(huán)境
    的頭像 發(fā)表于 02-01 15:26 ?3452次閱讀
    php<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>的<b class='flag-5'>搭建</b>和使用

    ESP32教程——Windows開發(fā)環(huán)境搭建.pdf下載

    ESP32教程——Windows開發(fā)環(huán)境搭建.pdf
    發(fā)表于 04-14 10:41 ?47次下載
    ESP32教程——<b class='flag-5'>Windows</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>.pdf下載

    如何在Windows系統(tǒng)安裝搭建PHP環(huán)境

    這兩天剛裝好Windows 7,碰巧前段時間有朋友問我Windows 如何安裝搭建PHP 環(huán)境,所以打算勤勞
    發(fā)表于 08-09 16:56 ?13次下載

    ESP32教程之如何在Windows系統(tǒng)上搭建開發(fā)環(huán)境

    本文檔的主要內容詳細介紹的是ESP32教程之如何在Windows系統(tǒng)上搭建開發(fā)環(huán)境。
    發(fā)表于 12-13 15:34 ?40次下載
    ESP32教程之如何在<b class='flag-5'>Windows</b>系統(tǒng)上<b class='flag-5'>搭建</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    MM32F013x——Windows環(huán)境基于Eclipse開發(fā)、調試MM32

    前面一章節(jié)介紹了在Windows搭建Eclipse開發(fā)環(huán)境,本章節(jié)將介紹在Windows
    發(fā)表于 01-25 18:53 ?2次下載
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>下</b>基于Eclipse<b class='flag-5'>開發(fā)</b>、調試MM32

    MM32F013x——Windows搭建Eclipse開發(fā)環(huán)境

    前段時間有客戶問到如何在Windows環(huán)境基于Eclipse開發(fā)、調試MM32 MCU,經過嘗試,現(xiàn)將環(huán)境
    發(fā)表于 01-25 18:58 ?2次下載
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>下</b><b class='flag-5'>搭建</b>Eclipse<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    MM32F013x——Windows搭建Eclipse開發(fā)環(huán)境

    如何在Windows環(huán)境基于Eclipse開發(fā)、調試MM32 MCU,經過嘗試,現(xiàn)將環(huán)境搭建
    發(fā)表于 02-08 16:27 ?1次下載
    MM32F013x——<b class='flag-5'>Windows</b><b class='flag-5'>下</b><b class='flag-5'>搭建</b>Eclipse<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    Windows搭建ARM11裸機開發(fā)環(huán)境:Eclipse創(chuàng)建工程

    上一篇文章介紹了在Windows搭建ARM11的裸機開發(fā)環(huán)境,需要的朋友可以過去看看。
    的頭像 發(fā)表于 04-08 09:36 ?1213次閱讀

    Windows搭建ARM11裸機開發(fā)環(huán)境:Eclipse+JLink調試代碼

    之前,寫過兩篇文章,介紹了在Windows搭建ARM11的裸機開發(fā)環(huán)境,以及使用Eclipse創(chuàng)建ARM11的裸機程序管理工程,需要的朋友
    的頭像 發(fā)表于 04-08 14:13 ?2128次閱讀
    RM新时代网站-首页