国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

對于C語言可移植性的一些思考

發布時間:2018-3-20 10:23    發布者:技術小白
關鍵詞: C語言 , 移植
相信學過C語言的同學,都會在書中看到C語言特點一定有:可移植性。

但是什么是可移植?
如何才能可移植?
C語言是如何做到可移植的?

對于初學者,可移植可能是一個經常遇到卻很神秘的詞。今天,我想通過這篇文章來表達對于可移植性的一些想法。

首先,在這里鋪墊一下。學過Win32程序設計的人肯定都聽說過API(Application Program Interface)。我就先說說API,高手繞過。API對于程序員來說就是系統提供的接口,任何涉及系統調用都要通過API來完成。對于不同的操作系統都有不同的一套API,也就是說對于不同的操作系統系統調用的接口是完全不同的。所以在API層我們是不能移植的。

下面我就來說說可移植,可移植顧名思義就是可以從一個平臺移植到另外一個平臺,但是大家一定要清楚,移植是基于操作系統的。但是這個時候,我們需要注意一點:基于各種操作系統平臺不同,應用程序在二級制級別是不能直接移植的。我們只能在代碼層去思考可移植問題,在API層面上由于各個操作系統的命名規范、系統調用等自身原因,在API層面上實現可移植也是不大可能的。那怎么才能實現可移植呢?

我們首先來看看現在主流的Windows和Linux平臺下代碼可移植性。有什么辦法解決這個問題呢?

答案是:在各個平臺之間,基于大部分需求抽象出一個中間層。在中間層中,中間層用了屏蔽底層細節,在我們程序員看來C言語庫就是這樣一個中間層的作用。在各個平臺下,我們默認C標準庫中的函數都是一樣的,這樣基本可以實現可移植。但是對于C庫本身而言,在各種操作系統平臺下其內部實現是完全不同的,也就是說C庫封裝了操作系統API在其內部的實現細節。

因此,C語言提供了我們在代碼級的可移植性,即這種可移植是通過C語言這個中間層來完成的。

當然,大家都可以看出上面的可移植是有條件的,C語言本身不能實現完全的可移植,為什么呢?因為,在我們程序中,我們經常會調用系統API,由于這些API在C語言中沒有對其封裝,所以我們只能用使用其原始的API,對于原始的API在各個操作系統中他們命名不同,就不能跨平臺移植。所以,我們要寫出完完全全的跨平臺的程序,還是需要其他的一些手段。例如在我們的代碼中下功夫。以下代碼可以幫助我們實現各平臺之間的可移植:

#ifdef _WINDOWS_

CreateThread(); //windows下線程的創建

#else

Pthread_create(); //Linux下線程的創建

#endif

對于頭文件,也使用同樣的預編譯宏來實現。如:

#ifndef _WINDOWS_

#include

#else

#include

#endif

這樣就可以實現代碼的可移植了。在編譯的時候只要通過#define就可以選擇在那個平臺下完成程序的編譯。

綜上所述,我們都是將C,C++等各種語言當作中間層,以實現其一定程度上的可移植。如今,語言的跨平臺的程序都是以這樣的方式實現的。但是在不同的平臺下,仍需要重新編譯。
宋工企鵝號:35--24-65--90-88   Tel/WX:173--17--95--19--08
以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
想學習的你和我聯系預約就可以免費聽課了


本文地址:http://m.qingdxww.cn/thread-523736-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Chiptorials ——使用ATECC608 TrustFLEX實現基本非對稱身份驗證
  • Chiptorials——如何使用ATECC608 TrustFLEX實現公鑰輪換
  • Chiptorials ——如何將CryptoAuthLib庫用于Microchip安全身份驗證IC
  • 無線充電基礎知識及應用培訓教程
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久66| 欧美日本一本线在线观看 | 久久黄色片 | 尹人香蕉网在线观看视频 | 中文日韩字幕一区在线观看 | 国产一级视频在线 | 兔女郎穿着丝袜被啪啪 | 国产午夜视频在永久在线观看 | 一级毛片黄色片 | 一级毛片免费观看不卡的 | 五月天婷婷精品视频 | 亚洲黄视频在线观看 | 五月天男人天堂 | 亚欧洲精品在线视频免费观看 | 自拍偷窥 | 在线观看一级毛片免费 | 欧美操操网 | 久久99热66这里只有精品一 | 四虎影视免费 | 欧美一级欧美一级在线播放 | 国产精品成人一区二区 | 四虎成人永久影院 | 最新自拍偷拍 | 国产一区二区三区免费看 | 国产精品高清一区二区 | 日韩毛片大全免费高清 | 羞羞的视频免费观看 | 国产精品高清视亚洲一区二区 | 成在线人免费视频一区二区三区 | 日本欧美一二三区色视频 | 欧美成人免费 | 中文字幕一区二区三匹 | 日本不卡二卡三卡四卡无卡免费 | 欧美成人全部费免网站 | 成人a视频在线观看 | 激情啪啪精品一区二区 | 亚洲精品一卡2卡3卡三卡四卡 | 欧美色片在线观看 | 亚洲国产天堂在线观看 | 操屁网| 日韩欧美不卡一区二区三区 |