精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

posix是什么都不知道,還好意思說(shuō)你懂Linux?

Linux閱碼場(chǎng) ? 來(lái)源:Linux閱碼場(chǎng) ? 2023-05-22 09:33 ? 次閱讀

Linux開(kāi)發(fā)者越來(lái)越多,但是仍然有很多人整不明白POSIX是什么。本文就帶著大家來(lái)了解一下到底什么是POSIX,了解他的歷史和重要性。

一、什么是posix?

1. 概念

POSIX:可移植操作系統(tǒng)接口(Portable Operating System Interface of UNIX,縮寫為 POSIX ),

2. 發(fā)布者-IEEE

發(fā)布者為電氣電子工程師協(xié)會(huì)(Institute of Electrical and Electronics Engineers),簡(jiǎn)稱IEEE。這個(gè)協(xié)會(huì)老牛了【該組織在太空、計(jì)算機(jī)、電信、生物醫(yī)學(xué)、電力及消費(fèi)性電子產(chǎn)品等領(lǐng)域中都是主要的權(quán)威】!


POSIX是IEEE為要在各種UNIX操作系統(tǒng)上運(yùn)行的軟件而定義的一系列API標(biāo)準(zhǔn)的總稱,其正式稱呼為IEEE 1003,而國(guó)際標(biāo)準(zhǔn)名稱為ISO/IEC 9945。

POSIX.1 已經(jīng)被國(guó)際標(biāo)準(zhǔn)化組織(International Standards Organization,ISO)所接受,被命名為 ISO/IEC 9945-1:1990 標(biāo)準(zhǔn)。

IEEE,總部位于美國(guó)紐約,是一個(gè)國(guó)際性的電子技術(shù)與信息科學(xué)工程師的協(xié)會(huì),也是目前全球最大的非營(yíng)利性專業(yè)技術(shù)學(xué)會(huì)。IEEE致力于電氣、電子、計(jì)算機(jī)工程和與科學(xué)有關(guān)的領(lǐng)域的開(kāi)發(fā)和研究,在太空、計(jì)算機(jī)、電信、生物醫(yī)學(xué)、電力及消費(fèi)性電子產(chǎn)品等領(lǐng)域已制定了1300多個(gè)行業(yè)標(biāo)準(zhǔn),現(xiàn)已發(fā)展成為具有較大影響力的國(guó)際學(xué)術(shù)組織

3. POSIX標(biāo)準(zhǔn)下載

很多人聽(tīng)說(shuō)了POSIX標(biāo)準(zhǔn),但標(biāo)準(zhǔn)具體長(zhǎng)什么樣,在哪里下載到,則 不清楚。現(xiàn)在我開(kāi)放出來(lái),供相關(guān)人員使用。

Single UNIX Specification V3,IEEE Std 1003.1,2004 Edition

標(biāo)準(zhǔn)線上地址:

http://www.unix.org/version3/online.html

注冊(cè)后可以在線閱讀或者下載。

IEEE和Open Group 的POSIX認(rèn)證

http://www.opengroup.org/certification/idx/posix.html

相關(guān)頁(yè)面:

http://www.unix.org/version3/ieee_std.html

二、POSIX歷史

1. 起源

POSIX是Unix的標(biāo)準(zhǔn)。

1974年,貝爾實(shí)驗(yàn)室正式對(duì)外發(fā)布Unix。因?yàn)樯婕暗椒磯艛嗟雀鞣N原因,加上早期的Unix不夠完善,于是貝爾實(shí)驗(yàn)室以慷慨的條件向?qū)W校提供源代碼,所以Unix在大專院校里獲得了很多支持并得以持續(xù)發(fā)展。

于是出現(xiàn)了好些獨(dú)立開(kāi)發(fā)的與Unix基本兼容但又不完全兼容的OS,通稱Unix-like OS。

包括:

  1. 美國(guó)加州大學(xué)伯克利分校的Unix4.xBSD(Berkeley Software Distribution)。

  2. 貝爾實(shí)驗(yàn)室發(fā)布的自己的版本,稱為System V Unix。

  3. 其他廠商的版本,比如Sun Microsystems的Solaris系統(tǒng),則是從這些原始的BSD和System V版本中衍生而來(lái)。

62d01928-f83f-11ed-90ce-dac502259ad0.png


20世紀(jì)80年代中期,Unix廠商試圖通過(guò)加入新的、往往不兼容的特性來(lái)使它們的程序與眾不同。

局面非常混亂,麻煩也就隨之而來(lái)了。

為了提高兼容性和應(yīng)用程序的可移植性,阻止這種趨勢(shì), IEEE(電氣和電子工程師協(xié)會(huì))開(kāi)始努力標(biāo)準(zhǔn)化Unix的開(kāi)發(fā),后來(lái)由 Richard Stallman命名為“Posix”。

這套標(biāo)準(zhǔn)涵蓋了很多方面,比如Unix系統(tǒng)調(diào)用的C語(yǔ)言接口、shell程序和工具、線程及網(wǎng)絡(luò)編程

2. 誰(shuí)遵循這個(gè)標(biāo)準(zhǔn)呢?

首先就是大名鼎鼎的Unix和Linux了,

除此之外還有蘋果的操作系統(tǒng)也是Unix-based的。

有了這個(gè)規(guī)范,你就可以調(diào)用通用的API了,Linux提供的POSIX系統(tǒng)調(diào)用在Unix上也能執(zhí)行,因此學(xué)習(xí)Linux的底層接口最好就是理解POSIX標(biāo)準(zhǔn)。

638e0df2-f83f-11ed-90ce-dac502259ad0.png

Windows從WinNT開(kāi)始就有兼容POSIX的考慮。這是因?yàn)楫?dāng)年在要求嚴(yán)格的領(lǐng)域,Unix地位比Windows高。為了把Unix用戶拉到Windows陣營(yíng),被迫支持POSIX。

現(xiàn)在Win10對(duì) Linux/POSIX 支持好,則是因?yàn)長(zhǎng)inux已經(jīng)統(tǒng)治了廉價(jià)服務(wù)器市場(chǎng)。為了提高Windows的競(jìng)爭(zhēng)力搞的。

所以一切都是以市場(chǎng)為主導(dǎo)。

3. 支持POSIX-Linux成功的最重要一個(gè)因素

Linux之所以能夠成功,有很多因素,但是支持POSIX標(biāo)準(zhǔn)無(wú)疑是它能夠快速發(fā)展的最重要的一個(gè)因素。

POSIX 標(biāo)準(zhǔn)的制定最后投票敲定階段大概是 1991~1993 年間,而此時(shí)正是Linux 剛剛起步的時(shí)候,這個(gè) UNIX 標(biāo)準(zhǔn)為 Linux 提供了極為重要的信息,使得 Linux 能夠在標(biāo)準(zhǔn)的指導(dǎo)下進(jìn)行開(kāi)發(fā),并能夠與絕大多數(shù) UNIX 操作系統(tǒng)兼容。

在最初的 Linux 內(nèi)核源碼(0.01版、0.11版)中就已經(jīng)為 Linux 系統(tǒng)與 POSIX 標(biāo)準(zhǔn)的兼容做好了準(zhǔn)備工作。

在 Linux 0.01 版內(nèi)核 /include/unistd.h 文件中就已經(jīng)定義了幾個(gè)有關(guān) POSIX 標(biāo)準(zhǔn)要求的符號(hào)常數(shù),而且 Linus 在注釋中已寫道:“OK,這也許是個(gè)玩笑,但我正在著手研究它呢”。

正是由于Linux支持POSIX標(biāo)準(zhǔn),無(wú)數(shù)可以在unix上運(yùn)行的程序都陸續(xù)的移植到Linux上,而此時(shí)unix因?yàn)榘鏅?quán)問(wèn)題,官司打的不可開(kāi)交,使得Linux后來(lái)者居上。

時(shí)也命也!

下面是祖師爺Linus當(dāng)年申請(qǐng)POSIX標(biāo)準(zhǔn)的郵件:

來(lái)自:torvalds@klaava.Helsinki.Fi(林納斯·托瓦茲)
討論組:comp.os.minix
主題:Gcc-1.40和一個(gè)有關(guān)POSIX的問(wèn)題
信息名稱:1991 Jul 3, 100050.9886@klaava.Helsinki.Fi
日期:199173日, 格林威治時(shí)間100050各位網(wǎng)友好!
由于我現(xiàn)在正在MINIX系統(tǒng)下做一個(gè)項(xiàng)目, 對(duì)POSIX標(biāo)準(zhǔn)很感興趣。有誰(shuí)能向我提供
一個(gè)(最好) 是機(jī)器可讀形式的最新的POSIX規(guī)則?能有FTP地址就更好了。

639b7622-f83f-11ed-90ce-dac502259ad0.png

而Linus也在《知識(shí)為了好玩》中講述了POSIX的重要性:

POSIX標(biāo)準(zhǔn)是一個(gè)可以適用于數(shù)以百計(jì)的UNIX系統(tǒng)呼叫中的任意一個(gè)的一套冗長(zhǎng)規(guī)則, 計(jì)算機(jī)要執(zhí)行任務(wù)(從讀、 寫、 開(kāi)機(jī)和關(guān)機(jī)開(kāi)始) 就需要這個(gè)標(biāo)準(zhǔn)。

POSIX則是指一個(gè)UNIX的標(biāo)準(zhǔn)體系, 或一個(gè)由來(lái)自不同公司的代表所組成的一個(gè)組織, 希望按照一個(gè)共同的標(biāo)準(zhǔn)進(jìn)行運(yùn)作。對(duì)于程序員開(kāi)發(fā)的在該操作系統(tǒng)下的新應(yīng)用軟件或開(kāi)發(fā)應(yīng)用軟件的新版本而言, 標(biāo)準(zhǔn)是極其重要的。從POSIX這樣的系統(tǒng)呼叫(system call) , 尤其是重要的呼叫(call) 中, 我可以獲得一個(gè)操作系統(tǒng)應(yīng)該具有哪些功能的一個(gè)單子;然后我就可以通過(guò)自己的方式在自己的系統(tǒng)中實(shí)現(xiàn)每一個(gè)功能。通過(guò)編寫出這些標(biāo)準(zhǔn), 我的系統(tǒng)軟件的源代碼將可以被別人使用, 以開(kāi)發(fā)新的應(yīng)用軟件。

當(dāng)時(shí)我并不知道我本可以直接從POSIX公司買到這些規(guī)則的軟盤, 但這無(wú)所謂。哪怕我能買得起, 什么東西運(yùn)到芬蘭, 往往會(huì)需要很長(zhǎng)的時(shí)間。我不愿等上那么久, 因此我四處搜求一個(gè)能從FTP地址上直接下載的版本。

沒(méi)有人給我提供能找到POSI標(biāo)準(zhǔn)的來(lái)源。于是我開(kāi)始了計(jì)劃B。

我從學(xué)校找到運(yùn)行sun器(sun server)的sun微系統(tǒng)版的UNIX手冊(cè)。該手冊(cè)中有一個(gè)完全可以湊合使用的系統(tǒng)呼叫的基本版本。從用戶手冊(cè)中能看出系統(tǒng)呼叫的主要功能, 以及為完成這些功能所需要完成的步驟。但是, 從中看不出具體的方法, 而只是標(biāo)明了最終的結(jié)果。于是我便著手從安德魯·塔南鮑姆的書(shū)中和別的材料中收集一些系統(tǒng)呼叫。

最終有人給我寄來(lái)了那幾卷厚厚的POSIX標(biāo)準(zhǔn)。

三、可移植性

聊到POSIX,那我們就不得不說(shuō)說(shuō)到底什么是可移植性,在講可移植性之前,我們先來(lái)了解庫(kù)函數(shù)和系統(tǒng)調(diào)用的區(qū)別。

Linux下對(duì)文件操作有兩種方式:系統(tǒng)調(diào)用(system call)和庫(kù)函數(shù)調(diào)用(Library functions)。

1. 系統(tǒng)調(diào)用

系統(tǒng)調(diào)用是通向操作系統(tǒng)本身的接口,是面向底層硬件的。通過(guò)系統(tǒng)調(diào)用,可以使得用戶態(tài)運(yùn)行的進(jìn)程與硬件設(shè)備(如CPU、磁盤、打印機(jī)等)進(jìn)行交互,是操作系統(tǒng)留給應(yīng)用程序的一個(gè)接口。

2. 庫(kù)函數(shù)

庫(kù)函數(shù)(Library function)是把函數(shù)放到庫(kù)里,供別人使用的一種方式。

方法是把一些常用到的函數(shù)編完放到一個(gè)文件里,供不同的人進(jìn)行調(diào)用。一般放在.lib文件中。

庫(kù)函數(shù)調(diào)用則是面向應(yīng)用開(kāi)發(fā)的,庫(kù)函數(shù)可分為兩類,

  1. 一類是C語(yǔ)言標(biāo)準(zhǔn)規(guī)定的庫(kù)函數(shù),

  2. 一類是編譯器特定的庫(kù)函數(shù)。

(由于版權(quán)原因,庫(kù)函數(shù)的源代碼一般是不可見(jiàn)的,但在頭文件中你可以看到它對(duì)外的接口)。

63d8a920-f83f-11ed-90ce-dac502259ad0.png


glibc 是 Linux 下使用的開(kāi)源的標(biāo)準(zhǔn) C 庫(kù),它是 GNU 發(fā)布的 libc 庫(kù),即運(yùn)行時(shí)庫(kù)。這些基本函數(shù)都是被標(biāo)準(zhǔn)化了的,而且這些函數(shù)通常都是用匯編直接實(shí)現(xiàn)的。

glibc 為程序員提供豐富的 API(Application Programming Interface),這些API都是遵循POSIX標(biāo)準(zhǔn)的,API的函數(shù)名,返回值,參數(shù)類型等都必須按照POSIX標(biāo)準(zhǔn)來(lái)定義。

POSIX兼容也就指定這些接口函數(shù)兼容,但是并不管API具體如何實(shí)現(xiàn)。

3. 庫(kù)函數(shù)API和系統(tǒng)調(diào)用的區(qū)別

640e7a14-f83f-11ed-90ce-dac502259ad0.png

如上圖所示:

  • (1) 庫(kù)函數(shù)是語(yǔ)言或應(yīng)用程序的一部分,而系統(tǒng)調(diào)用是內(nèi)核提供給應(yīng)用程序的接口,屬于系統(tǒng)的一部分

  • (2) 庫(kù)函數(shù)在用戶地址空間執(zhí)行,系統(tǒng)調(diào)用是在內(nèi)核地址空間執(zhí)行,庫(kù)函數(shù)運(yùn)行時(shí)間屬于用戶時(shí)間,系統(tǒng)調(diào)用屬于系統(tǒng)時(shí)間,庫(kù)函數(shù)開(kāi)銷較小,系統(tǒng)調(diào)用開(kāi)銷較大

  • (3) 系統(tǒng)調(diào)用依賴于平臺(tái),庫(kù)函數(shù)并不依賴

6423b3b6-f83f-11ed-90ce-dac502259ad0.png

系統(tǒng)調(diào)用是為了方便使用操作系統(tǒng)的接口,而庫(kù)函數(shù)則是為了人們編程的方便。

庫(kù)函數(shù)調(diào)用與系統(tǒng)無(wú)關(guān),不同的系統(tǒng),調(diào)用庫(kù)函數(shù),庫(kù)函數(shù)會(huì)調(diào)用不同的底層函數(shù)實(shí)現(xiàn),因此可移植性好。

4. 程序的可移植性及其本質(zhì)

那么目標(biāo)代碼和啟動(dòng)代碼是怎么生成的呢?
答案是編譯器。

編程語(yǔ)言編寫的程序首先要被編譯器編譯成目標(biāo)代碼(0、1代碼),然后在目標(biāo)代碼的前面插入啟動(dòng)代碼,最終生成了一個(gè)完整的程序。

要注意的是,程序中為訪問(wèn)特定設(shè)備(如顯示器)或者操作系統(tǒng)(如windows xp 的API)的特殊功能而專門編寫的部分通常是不能移植的。

綜上所述,一個(gè)編程語(yǔ)言的可移植性取決于

  1. 不同平臺(tái)編譯器的數(shù)量

  2. 對(duì)特殊硬件或操作系統(tǒng)的依賴性

移植是基于操作系統(tǒng)的。但是這個(gè)時(shí)候,我們需要注意一點(diǎn):基于各種操作系統(tǒng)平臺(tái)不同,應(yīng)用程序在二級(jí)制級(jí)別是不能直接移植的。

我們只能在代碼層去思考可移植問(wèn)題,在API層面上由于各個(gè)操作系統(tǒng)的命名規(guī)范、系統(tǒng)調(diào)用等自身原因,在API層面上實(shí)現(xiàn)可移植也是不大可能的。

在各個(gè)平臺(tái)下,我們默認(rèn)C標(biāo)準(zhǔn)庫(kù)中的函數(shù)都是一樣的,這樣基本可以實(shí)現(xiàn)可移植。但是對(duì)于C庫(kù)本身而言,在各種操作系統(tǒng)平臺(tái)下其內(nèi)部實(shí)現(xiàn)是完全不同的,也就是說(shuō)C庫(kù)封裝了操作系統(tǒng)API在其內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。

因此,C語(yǔ)言提供了我們?cè)诖a級(jí)的可移植性,即這種可移植是通過(guò)C語(yǔ)言這個(gè)中間層來(lái)完成的。

例如在我們的代碼中下功夫。以下代碼可以幫助我們實(shí)現(xiàn)各平臺(tái)之間的可移植:

#ifdef _WINDOWS_
       CreateThread();      //windows下線程的創(chuàng)建#else
       Pthread_create();    //Linux下線程的創(chuàng)建#endif

對(duì)于頭文件,也使用同樣的預(yù)編譯宏來(lái)實(shí)現(xiàn)。如:

#ifndef _WINDOWS_
       #include #else
       #include #endif

這樣就可以實(shí)現(xiàn)代碼的可移植了。在編譯的時(shí)候只要通過(guò)#define就可以選擇在那個(gè)平臺(tái)下完成程序的編譯。

綜上所述,我們都是將C,C++等各種語(yǔ)言當(dāng)作中間層,以實(shí)現(xiàn)其一定程度上的可移植。如今,語(yǔ)言的跨平臺(tái)的程序都是以這樣的方式實(shí)現(xiàn)的。但是在不同的平臺(tái)下,仍需要重新編譯。

5. 系統(tǒng)開(kāi)銷

使用系統(tǒng)調(diào)用會(huì)影響系統(tǒng)的性能,在執(zhí)行調(diào)用時(shí)的從用戶態(tài)切換到內(nèi)核態(tài),再返回用戶態(tài)會(huì)有系統(tǒng)開(kāi)銷。

為了減少開(kāi)銷,因此需要減少系統(tǒng)調(diào)用的次數(shù),并且讓每次系統(tǒng)調(diào)用盡可能的完成多的任務(wù)

硬件也會(huì)限制對(duì)底層系統(tǒng)調(diào)用一次所能寫的數(shù)據(jù)塊的大小。

為了給設(shè)備和文件提供更高層的接口,Linux系統(tǒng)提供了一系列的標(biāo)準(zhǔn)函數(shù)庫(kù)。

使用標(biāo)準(zhǔn)庫(kù)函數(shù),可以高效的寫任意長(zhǎng)度的數(shù)據(jù)塊,庫(kù)函數(shù)在數(shù)據(jù)滿足數(shù)據(jù)塊長(zhǎng)度要求時(shí)安排執(zhí)行底層系統(tǒng)調(diào)用。

一般地,操作系統(tǒng)為了考慮實(shí)現(xiàn)的難度和管理的方便,它只提供一少部分的系統(tǒng)調(diào)用,這些系統(tǒng)調(diào)用一般都是由C和匯編混合編寫實(shí)現(xiàn)的,其接口用C來(lái)定義,而具體的實(shí)現(xiàn)則是匯編,這樣的好處就是執(zhí)行效率高,而且,極大的方便了上層調(diào)用。

隨著系統(tǒng)提供的這些庫(kù)函數(shù)把系統(tǒng)調(diào)用進(jìn)行封裝或者組合,可以實(shí)現(xiàn)更多的功能,這樣的庫(kù)函數(shù)能夠?qū)崿F(xiàn)一些對(duì)內(nèi)核來(lái)說(shuō)比較復(fù)雜的操作。

比如,read()函數(shù)根據(jù)參數(shù),直接就能讀文件,而背后隱藏的比如文件在硬盤的哪個(gè)磁道,哪個(gè)扇區(qū),加載到內(nèi)存的哪個(gè)位置等等這些操作,程序員是不必關(guān)心的,這些操作里面自然也包含了系統(tǒng)調(diào)用。

而對(duì)于第三方的庫(kù),它其實(shí)和系統(tǒng)庫(kù)一樣,只是它直接利用系統(tǒng)調(diào)用的可能性要小一些,而是利用系統(tǒng)提供的API接口來(lái)實(shí)現(xiàn)功能(API的接口是開(kāi)放的)。

四、舉例

如下圖是Linux系統(tǒng)調(diào)用的大概流程。

當(dāng)應(yīng)用程序調(diào)用printf()函數(shù)時(shí),printf函數(shù)會(huì)調(diào)用C庫(kù)中的printf,繼而調(diào)用C庫(kù)中的write,C庫(kù)最后調(diào)用內(nèi)核的write()。

而另一些則不會(huì)使用系統(tǒng)調(diào)用,比如strlen, strcat, memcpy等。

648f02ce-f83f-11ed-90ce-dac502259ad0.png

printf函數(shù)執(zhí)行過(guò)程中,程序運(yùn)行狀態(tài)切換如下:

用戶態(tài)–>系統(tǒng)調(diào)用–>內(nèi)核態(tài)–>返回用戶態(tài)

printf函數(shù)、glibc庫(kù)和系統(tǒng)調(diào)用在系統(tǒng)中關(guān)系圖如下:

6497f8ac-f83f-11ed-90ce-dac502259ad0.png

實(shí)例代碼如下:

  1 #include 
  2 
  3 
  4 int main(int argc, char **argv)  5 {  6     printf("yikoulinux
");   
  7     return 0;  8 }

編譯執(zhí)行

root@ubuntu:/home/peng/test# gcc 123.c -o runroot@ubuntu:/home/peng/test# strace ./run

64b2e680-f83f-11ed-90ce-dac502259ad0.png


如執(zhí)行結(jié)果可知:
我們的程序雖然只有一個(gè)printf函數(shù),但是在執(zhí)行過(guò)程中,我們前后調(diào)用了execve、access、open、fstat、mmap、brk、write等系統(tǒng)調(diào)用。
其中write系統(tǒng)調(diào)用會(huì)把字符串:yikoulinux通過(guò)設(shè)備文件1,發(fā)送到驅(qū)動(dòng),該設(shè)備節(jié)點(diǎn)對(duì)應(yīng)終端stdout。

64d23c24-f83f-11ed-90ce-dac502259ad0.png

【注意】運(yùn)行程序前加上strace,可以追蹤到函數(shù)庫(kù)調(diào)用過(guò)程


審核編輯 :李倩


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

    關(guān)注

    87

    文章

    11227

    瀏覽量

    208922
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2944

    瀏覽量

    66668
  • Posix
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    9486

原文標(biāo)題:posix是什么都不知道,還好意思說(shuō)你懂Linux?

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    到底什么是VR、AR、MR、CR?它們的區(qū)別在哪?

    最近一段時(shí)間,VR火的不行不行的,有一種不知道VR都不好意思出去跟別人聊天的意思。但是還是有很多人文章看了不少,就是不知道VR到底是什么,VR和AR到底有什么區(qū)別,對(duì)MR、CR就更是
    發(fā)表于 04-20 16:12 ?2.5w次閱讀

    自己剛剛進(jìn)入ARM行列,都不知道做什么?

    自己剛剛進(jìn)入ARM行列,都不知道做什么?
    發(fā)表于 11-27 23:23

    好意思,我刪了

    [ 本帖最后由 lanyue119 于 2013-3-20 09:45 編輯 ]\n\n不好意思,我刪了
    發(fā)表于 03-06 18:48

    DSP知道是啥嗎

    1、怎樣做好嵌入式/MCU/ARM/DSP這一行?.2、DSP都不知道是啥,還好意思說(shuō)自己學(xué)過(guò)嵌入式?.
    發(fā)表于 12-15 07:16

    不知道電動(dòng)車電池的型號(hào)怎么辦?

    不知道電動(dòng)車電池的型號(hào)怎么辦?  近一年來(lái)給很多人換過(guò)電動(dòng)車電池了,我發(fā)現(xiàn)大多數(shù)人都不知道自己的電動(dòng)車電池是什么型號(hào)的,
    發(fā)表于 11-11 08:56 ?3429次閱讀

    Miniplayer小技巧 保證有不知道

    Miniplayer小技巧 保證有不知道的 1,用電源充電完成后先別拔充電器,先按住開(kāi)關(guān)別放再拔開(kāi)線就不用更新歌曲庫(kù)了。
    發(fā)表于 02-01 16:38 ?686次閱讀

    玩轉(zhuǎn)iPhone:可能不知道的iPhone實(shí)用技巧

    玩轉(zhuǎn)iPhone:可能不知道的iPhone實(shí)用技巧 玩iPhone有段時(shí)間了吧,怎么才能讓iPhone更順手呢?在這里可以看到一些最新的iPhone小技巧
    發(fā)表于 04-07 09:22 ?303次閱讀

    到底知不知道硬件設(shè)計(jì)是什么?

    想學(xué)習(xí)硬件電路方面的設(shè)計(jì),但不知道怎么入手? 懵懵懂的進(jìn)入硬件領(lǐng)域,對(duì)自己的發(fā)展和方向很迷茫? 做了一段時(shí)間硬件設(shè)計(jì),事業(yè)發(fā)展和薪資遭遇瓶頸? 有時(shí)候必須承認(rèn),還不夠優(yōu)秀!甚至不知道
    的頭像 發(fā)表于 05-18 11:27 ?9697次閱讀

    關(guān)于人工智能的日常應(yīng)用很多人都不知道

    到目前為止,幾乎每個(gè)人都對(duì)人工智能有所了解,但是大多數(shù)人都不是技術(shù)專家,而且許多人可能還不知道人工智能的影響有多大。
    發(fā)表于 12-28 11:27 ?2666次閱讀

    關(guān)于可能不知道的printf

    可能不知道的printf
    的頭像 發(fā)表于 02-05 12:28 ?2593次閱讀
    關(guān)于<b class='flag-5'>你</b>可能<b class='flag-5'>不知道</b>的printf

    什么樣的電腦電源不要購(gòu)買使用

    要是不知道整機(jī)烈士墻,都不好意思和人說(shuō)DIY。雖然上墻的原因有很多,但其中大多數(shù)都離不開(kāi)電
    發(fā)表于 07-26 09:18 ?1070次閱讀

    如果不知道斜拉鏈機(jī)頭輪軸磨損怎么修,請(qǐng)看這里

    如果不知道斜拉鏈機(jī)頭輪軸磨損怎么修,請(qǐng)看這里
    發(fā)表于 06-16 14:55 ?1次下載

    MDK下99%用戶都不知道的萬(wàn)能printf方法

    本篇將介紹MDK下99%用戶都不知道的萬(wàn)能printf方法。
    的頭像 發(fā)表于 04-12 10:21 ?2183次閱讀

    不知道的FPC,它的發(fā)展史竟然是這樣的!

    不知道的FPC,它的發(fā)展史竟然是這樣的!
    的頭像 發(fā)表于 11-15 10:48 ?1158次閱讀

    揭秘pcb是什么物質(zhì):不知道的“化學(xué)戰(zhàn)士”

    揭秘pcb是什么物質(zhì):不知道的“化學(xué)戰(zhàn)士”
    的頭像 發(fā)表于 12-14 10:27 ?972次閱讀