一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

嵌入式USB開發(fā) ? 來源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-06-08 10:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注

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

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

圖片

1.1 下載源碼

1.https://sourceforge.net/projects/pthreads4w/files/ 比官網(wǎng)新一點(diǎn)2018年 3.0版本

2.https://sourceware.org/pthreads-win32/ 官網(wǎng) 最新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個(gè)資源,因?yàn)镸SVC編譯環(huán)境都適配好了。

這里使用MSVC2022

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

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

圖片

點(diǎn)擊左側(cè)目錄,解決方案’pthread.2022’

菜單欄點(diǎn)擊 生成->生成解決方案 開始構(gòu)建

圖片

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

其中

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

pthread.dll

pthread.dll

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

pthread_static_lib.lib

1.3 測試

在解決方案目錄,右鍵點(diǎn)擊屬性

圖片

修改啟動(dòng)項(xiàng)目

圖片

然后點(diǎn)擊如下圖標(biāo)運(yùn)行

圖片

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

TEST_WRAPPER(test_sequence2);會(huì)失敗

先注釋掉該用例。

看到測試結(jié)果如下:

圖片

1.4 在自己工程中使用

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

新建空白WIN32程序

將上述的

pthread.dll

pthread.lib

pthread_static_lib.lib

復(fù)制到工程目錄Src/pthread/lib下

圖片

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

復(fù)制到工程目錄Src/pthread/inc下

圖片

右鍵點(diǎn)擊工程名->屬性

圖片

設(shè)置Lib文件夾路徑

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

圖片

設(shè)置lib文件

圖片

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

圖片

添加源文件main.c,內(nèi)容如下

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

#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);
}

構(gòu)建項(xiàng)目,然后運(yùn)行

可以看到基本是thread1運(yùn)行兩次thread運(yùn)行1次,和其delay時(shí)間是兩倍關(guān)系對(duì)應(yīng)。

圖片

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

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

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

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

圖片

運(yùn)行時(shí)需要將exe文件和pthread.dll放在一起。

審核編輯:湯梓紅

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

    關(guān)注

    5151

    文章

    19670

    瀏覽量

    317483
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3614

    瀏覽量

    91401
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    242

    瀏覽量

    17123
  • 環(huán)境搭建
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    9260
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    Windows基于MSVC搭建libjpeg開發(fā)環(huán)境
    的頭像 發(fā)表于 06-08 10:23 ?2391次閱讀
    <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 ?4472次閱讀
    <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 ?2918次閱讀
    <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 ?2107次閱讀
    <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平臺(tái))匯總

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

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

    本文主要介紹的是php開發(fā)環(huán)境搭建和使用。apache在默認(rèn)情況下不會(huì)處理php頁面,Apache處理php頁面的步驟:即:php開發(fā)環(huán)境
    的頭像 發(fā)表于 02-01 15:26 ?3698次閱讀
    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 ?48次下載
    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,碰巧前段時(shí)間有朋友問我Windows 如何安裝搭建PHP 環(huán)境,所以打算勤勞
    發(fā)表于 08-09 16:56 ?13次下載

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

    本文檔的主要內(nèi)容詳細(xì)介紹的是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ā)、調(diào)試MM32

    前面一章節(jié)介紹了在Windows搭建Eclipse開發(fā)環(huán)境,本章節(jié)將介紹在Windows
    發(fā)表于 01-25 18:53 ?3次下載
    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>、調(diào)試MM32

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

    前段時(shí)間有客戶問到如何在Windows環(huán)境基于Eclipse開發(fā)、調(diào)試MM32 MCU,經(jīng)過嘗試,現(xiàn)將環(huán)境
    發(fā)表于 01-25 18:58 ?3次下載
    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ā)、調(diào)試MM32 MCU,經(jīng)過嘗試,現(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裸機(jī)開發(fā)環(huán)境:Eclipse創(chuàng)建工程

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

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

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