最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

在Ubuntu用ncurses庫寫個文件,編譯出能用于Windows的可執(zhí)行文件(程序)

2023-01-04 22:46 作者:傅紅雪的刀  | 我要投稿

Curses是一款終端內(nèi)繪制簡單的圖形用戶界面,它的自由行軟件版本ncurses,它的允許用戶編寫基于文本的用戶界面(TUI)的編程庫。雖然現(xiàn)在圖形化界面有QT、MFC和Tcl/Tk等已經(jīng)非常強大,文本的用戶界面深深吸入著我。

最開始在Windows上使用卻沒有找到編譯和運行的方法(當我寫本文章佛想到一個解決方案),網(wǎng)上的資料指向Liunx內(nèi)核的發(fā)行版系統(tǒng)一般帶有ncurses的庫,我想應該能夠輕松的完成編譯和運行,所以轉(zhuǎn)移到Ubuntu程序的編譯和運行嘗試,同時希望在Ubuntu交叉編譯編譯出適合Windows的程序。

Ubuntu編譯和運行

還是需要下載ncurses的開發(fā)庫,還需安裝運行庫:sudo apt-get install libncurses5-dev。

根據(jù)教程“NCURSES-Programming-HOWTO?”(附錄有鏈接),下載教程的源碼,根據(jù)說明進行make。

簡單的創(chuàng)建文件,引入頭文件:ncurses.h??,簡單編譯實例1:gcc main.c -lncurses?,簡單編譯實例2:gcc main.c -curses。

記得后面的鏈接庫:LIBS=-lncurses,否者會undefined reference(未定義引用)

Ubuntu交叉編譯編譯出適合Windows的程序

先是需要個交叉編譯器,我能夠想到是 mingw-w64,針對32位和64位Windows的開發(fā)環(huán)境,所以安裝apt install mingw-w64。

沒有找到合適的資料,碰巧在ncurses網(wǎng)站看到mingw64.zip,下載后內(nèi)部有dll和頭文件,經(jīng)過嘗試可行,所以有了本文。

ncurses Windows?動態(tài)鏈接庫:https://invisible-island.net/archives/ncurses/win32/

-I./include/ncursesw -I./include/,有些頭文件夾在./include/ncursesw,有些在./include/ 。如ncurses.h 包含有<ncursesw/ncurses_dll.h>

-L./lib/ -lncursesw.dll,必要的庫鏈接,解決__imp_initscr和__imp_printw等缺少,生成a.exe。

完整的指令參考下方,這里文件夾的放置也有關(guān)系,完成頭文件和必要的庫鏈接,從而完成編譯。

編譯出來的a.exe,移動到Windows平臺,然后和bin文件夾的libncursesw6.dll共同存在可運行。

總結(jié)

整體寫的比較混亂,本文主要說明 Ubuntu用ncurses函數(shù)庫寫程序,在有合適的動態(tài)庫編譯能出用于Windows的程序。

附錄

ncurses網(wǎng)站

  • https://invisible-island.net/ncurses/announce.html

NCURSES-Programming-HOWTO 教程說明

  • https://tldp.org/HOWTO/html_single/NCURSES-Programming-HOWTO/

  • https://www.cs.buap.mx/~hilda/NCURSES.pdf

新疆大學軟件學院?NCURSES-Programming-HOWTO?第二版的翻譯

  • https://max.book118.com/html/2016/0328/38997697.shtm

NCURSES-Programming-HOWTO?源碼

  • http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs.tar.gz

mingw-w64 編譯器網(wǎng)站

  • https://www.mingw-w64.org/

ncurses Windows 動態(tài)鏈接庫

  • https://invisible-island.net/archives/ncurses/win32/


在Ubuntu用ncurses庫寫個文件,編譯出能用于Windows的可執(zhí)行文件(程序)的評論 (共 條)

分享到微博請遵守國家法律
石嘴山市| 锡林郭勒盟| 托里县| 同心县| 永平县| 深水埗区| 丘北县| 广昌县| 东莞市| 新野县| 江山市| 横峰县| 乐清市| 宿州市| 宝应县| 封开县| 黄骅市| 镇远县| 临邑县| 玉环县| 海原县| 蒙城县| 临漳县| 桂平市| 论坛| 赣州市| 平利县| 喜德县| 朝阳市| 泸水县| 江永县| 庆阳市| 烟台市| 闸北区| 沭阳县| 沽源县| 金华市| 雅安市| 琼结县| 晋宁县| 澄迈县|