C 語言跨平台是門專業的學問,為什麼這麼說呢?
因為平常一般開發者要開發跨平台程式的話,一開始就可以選擇跨平台的應用程式框架,例如:Qt
就很少遇到跨平台改寫的問題了。
但是將現有的產品程式碼移植或改成跨平台,
就會遇到跨平台改寫的問題,
不過畢竟是少數人才會遇到的經驗,
所以以下將我遇到的經驗紀錄一下,
通常有幾個api最容易遇到,例如:sleep,開 thread 執行緒,tmux 鎖,
以下將逐一介紹:
sleep1
2
3
4
5
6
7
8
9
10
11
12
13
14
inline void sleep(int milliseconds)
{
Sleep(milliseconds);
usleep(milliseconds * 1000);
}
參考
https://github.com/libimobiledevice/libusbmuxd/blob/c724e70fb52ba45291dc73a2e369c0c5bae0ec2e/src/libusbmuxd.c#L57
https://github.com/vurtun/mmx/blob/f0ef47edc2077bc498880f7d3032c37e68f79219/tests/web_test.c#L52
其它相關文章推薦
C/C++ 新手入門教學懶人包