當前位置:首頁 » 操作系統 » ncurses源碼

ncurses源碼

發布時間: 2022-04-28 17:59:18

linux ncurses有什麼用

在你源碼目錄執行: chmod u+rwx * -R或者直接 chmod 777 * -R

㈡ ncurses庫中文支持問題

「顯示出來的中文」是指在哪裡顯示?如果是編輯源文件的編輯器顯示程亂碼了,改一下編輯器的屬性應該就可以了
(雖然我不知道怎麼改,但我相信這樣做是可以的)

不會亂碼,因為顯示的時候用的GB碼
UTF-8需要轉換程GB碼,就不至於亂碼了

㈢ 如何編譯Linux內核

一、編譯環境

ubuntu 5.10,要編譯的內核源碼版本2.6.12 二、下載並解壓源代碼 首先從linux內核的官網www.kernel.org把源代碼下載下來。為了和後面實驗要求符合,我們要下載使用O(1)調度器的源碼。因此這里下載了2.6.12版本源碼。下載 下linux-2.6.12.tar.bz2,將下載源碼放入/usr/src/目錄下。如下圖所示: 解壓該源碼: 三、構建編譯環境 現在我們得到的只是源代碼,只是許許多多的文本文件,要想使這些文件成為可以運行的程序,需要使用編譯器進行編譯以及鏈接。編譯器有很多,但在里linux下一般都使用gnu的開源編譯器套件,這里包括gcc等,現在我們安裝基本的編譯器套件,如圖所示: 四、安裝ncurses庫 這里使用Ubuntu系統,因為系統自帶的ncurses庫在支持make menuconfig的時候會出錯,所以,依然要安裝ncurses庫,這里我們從源碼安裝。首先去ncurses官網http://ftp.gnu.org/pub/gnu/ncurses/ 上下載源碼。這里我們下載5.9版本,並通過簡單的安裝方式.configure 和make、make install方式安裝。如下圖所示: 五、配置內核 一切准備工作做完,現在我們就可以配置內核了,這里我們使用make menuconfig方式。如下圖: 在使用make menuconfig這個命令後,會出現如下的字元界面,我們就可以在這個界面上對內核進行配置。但是如果這不是你第一次配置這個內核,那麼請先運行:make mrproper來清除以前的配置,回到默認配置,然後再運行:make menuconfig.
在這里,我們以對cpu支持的配置為例,其餘的選項就不一一詳述,首先查看本機的cpu類型,如下圖:

在這里我們可以看到,我的電腦的cpu是AMD Athlon的,因此我們在cpu選項裡面選用AMD,如下圖所示:

在這里需要注意的是:
A、 cpu的設置在linux內核編譯過程中,不是必需的,即使保持默認的386選項(我們剛才把它改成了AMD),內核也能正常運行,只不過運行慢一些而已。
B、 一般容易出問題的地方在於Device Driver的設置。我在一開始就遇到了在內核編譯完,通過grub引導系統過程中報 「ALERT! /dev/sda1 does not exist . Dropping to a shell!」的錯誤。這是因為硬碟驅動沒有配置好而造成的。運行lspci命令,查看到下面這行:

由此確定,需要配置SCSI、PCI-X、Fusion-MPT驅動,需要在響應的驅動選項里將[M]設置為[*],因為硬碟驅動是在系統開機的時候載入,所以不能以模塊形式載入。

把這幾個驅動內部的選項全部改為[*]:

六、編譯內核

對內核的配置完成之後,現在就可以開始編譯內核了,只需要一個簡單的make命令即可,之後我們就只能慢慢等,直到編譯完成,在我的電腦上,大概用了25分鍾。下圖是運行make後的部分輸出。

七、安裝內核
編譯完成之後,我們需要安裝內核,主要分為如下幾步:
1)、安裝模塊

安裝模塊,對於內核來說,每一個內核版本有自己的模塊目錄,默認在/lib/moles/內核版本號這個目錄下,make moles_install會創建對應的目錄,並把對應的模塊文件拷貝過去。注意,這一步必須要在編譯過內核再做。

2)、拷貝bzImage文件

bzImage文件是內核映像文件,是啟動內核所必需的,我們應當把它拷貝到/boot目錄下。在這里,我為自己新建了一個目錄,我們把它拷貝過去,並且按照一般內核映像文件的命名方式為它改名為vmlinuz-2.6.12。

3)、製作initrd文件
initrd文件命名為initrd.img-2.6.12

4)、修改grub啟動項
要能引導起我們的新系統,需要更改grub配置,增加啟動選項。ubuntu 5.10的grub版本比較低,配置文件為/boot/grub/menu.lst,高版本的grub可能在/boot/grub/grub.cfg里。在原有啟動項基礎上,添加我們自己的啟動項,並把它設為默認啟動項,配置如下:

5)重啟
不出意外的話,我們的內核已經正常載入了,運行uname -a,會發現,內核版本已經是2.6.12了。

㈣ linux minicom需要安裝的庫怎麼安裝

1. minicom需要ncurses庫的支持,否則安裝會有問題。
A. 下載ncurses。我選擇是ncurses-5.6.tar.gz
下載地址:directory.fsf.org/project/ncurses/
B. 解壓縮到/opt/ncurses目錄下。# tar zxvf ncurses-5.5.tar.gz –C /opt/ncurses
C. 到ncurses目錄下,配置編譯ncurses。
源碼安裝的三個步驟(configure、make、make install)
2. 編譯安裝minicom
A. 下載地址(minicom-2.7.tar.gz)
alioth.debian.org/projects/minicom/
B. 解壓到/opt/minicom目錄下。tar zxvf minicom-2.1.tar.gz –C /opt/minicom/
C. 到minicom-2.7目錄下,配置編譯minicom。
在make階段會出現錯誤,具體解決方法見注1。
3. Minicom的配置和使用
命令minicom是進入串口超級終端畫面,而minicom -s為配置minicom。
打開終端輸入minicom後,初始化進入minicom的歡迎界面,這里提示按"Ctrl+A",再按"Z"鍵進入主配置目錄 按下"O"鍵,並選擇串口配置選項進行配置。接下來的配置是一樣的。解析一下minicom命令摘要,命令將被執行當你按下Ctrl+D ,Key是對應的"字母"鍵。
「D」鍵:撥號目錄
「S」鍵:發送文件,上傳文件有幾種方式:zmodem、ymodem、xmodem、kermit、ascii
「P」鍵:通信參數。對波特率進行設置。
「L」鍵:捕捉開關。
「F」鍵:發送中斷。
「T」鍵:終端設置。
「W」鍵:換行開關
「G」鍵:運行腳本
「R」鍵:接收文件
「A」鍵:添加一個換行符
「H」鍵:掛斷
「M」鍵:初始化數據機
「K」鍵:運行kermit進行刷屏
「E」鍵:切換本地回顯開關
「C」鍵:清除屏幕
「O」鍵:配置minicom
「J」鍵:暫停minicom
「X」鍵:退出和復位
「Q」鍵:退出沒有復位
「I」鍵:游標模式
「Z」鍵:幫助屏幕
「B」鍵:滾動返回
注1:minicom編譯安裝錯誤解決方法.
1. 在window.c中修改 static const char *CR, *NL;
為: static const char *BC,*CR, *NL;
2. 在src下面的Makefile中添加ncurses庫的名稱。
即:LIB = /opt/ncurses/lib/libncurses.a
注2:
A PC使用的USB轉串口,虛擬機的設置要添加「USB控制器」。
需要查看/dev目錄下是否存在ttyUSB0文件,如果沒有,手動創建一個
# mknod /dev/ttyUSB0 c 188 0
默認情況下,linux已經安裝了USB轉串口的驅動(PL2303)
# lsmod | grep usbserial
如果有usbserial, 則系統支持USB轉串口
B. PC使用串口。Serial Device要配置為/dev/ttyS0。
虛擬機的設置參見下面鏈接的「Minicom串列埠的設置」

㈤ linux下編譯了ncurses6.1源碼,為何輸出找不到ncursesw庫

你用普通用戶試下,還有 ,ls -ali 查看一下許可權,及 chmod

㈥ ubuntu下怎麼編譯linux內核

Ubuntu 系統
1. 准備工作
切換為管理員許可權,sudo –i 輸入用戶密碼 進入root 許可權
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的編程庫(gcc, make 等)
kernel-package (Debian 系統里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig 要調用的)
libqt3-headers (make xconfig 要調用的)
2. 下載特定版本的內核源代碼
3. 復制源碼linux-3.2.12.tar.bz2 到/usr/src 目錄,解壓縮
命令.假設源碼存放在/home 目錄下
cp /home/linux-3.2.12.tar.bz2 /usr/src
cd /usr/src
tar xvjf linux-3.2.12.tar.bz2
解壓後生成 linux-3.2.12 目錄
4. cd linux-3.2.12
接下來配置內核選項
make menuconfig 這一步比較復雜,內核選項很多,可以使用當前內核的配置選項,
但編譯內核的時間會比較長,因為裝系統的時候使用的配置是適應大多數系統的,非定
制選項。關於內核配置選項怎麼定製,網上很多。
5. 把正在使用系統中的內核配置文件/usr/src/linux-headers-2.6.38-13-generic/.config 拷到
/usr/src/linux-3.2.12 目錄下
cp /usr/src/ linux-headers-2.6.38-13-generic/.config /usr/src/ linux-3.2.12
執行:
cd /usr/src/ linux-3.2.12
make menuconfig
終端會彈出一個配置界面
注意主菜單最後有兩項:
load a kernel configuration…
save a kernel configuration…
先選第一項load ….,意思是,利用當前的內核配置詳單來設置將要編譯的內核,然後選save 這一項保存,最後退出配置界面
6. 開如編譯安裝新內核
執行:make mrproper (清除以前曾經編譯過的舊文件,如果是第一次編譯,可不執行)
執行:make (編譯,加-j4,必須加,雙核並行編譯,速度快很多,不過使用原先配置
選項)
然後:make install
再:make moles (編譯模塊)
再:make moles_install (安裝模塊)
最後創建initrd 文件:
mkinitramfs -o /boot/initrd.img-linux-3.2.12
7. make install 以後,系統自動更新了啟動項,可以cat /boot/grub/grub.cfg 看下.之前的啟動項不能刪除,如果編譯內核不成功,之前的啟動項又不見了,系統也就跪了
8. reboot

㈦ 自己可以編譯安卓源碼嗎

用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:

sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」

其中[email protected]為你自己的郵箱.

簡要說明

android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.

源碼下載

由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)

repo工具下載及安裝

通過執行以下命令實現repo工具的下載和安裝

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:

我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:


這里寫圖片描述

執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.

錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.

    結束吧

    到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.

    ㈧ 如何參考centos7內核源碼

    1. 下載內核
    內核官網獲得了(不讓加鏈接,搜索linux內核官網 )
    tar.xz 是完整的內核包
    pgp 是.tar.sign後綴的文件,用於校驗類似於MD5
    patch 是補丁包

    2. 解壓文件,現在一般採用 .tar.xz 的壓縮格式(壓縮率最高,但是壓縮時間較長)。
    /usr/src 一般而言、我們製做linux內核的時候源碼一般放在這個路徑下,
    可以使用 # tar -Jxvf linux-3.13.2.tar.xz -C /usr/src/ 把文件解壓到 /usr/src/ 中(在root用戶下才有效)
    3. 如果是第一次編譯內核,並沒有上次的殘留文件可以可以跳過
    # make mrproper
    這個步驟

    注意:make clean 刪除大多數的編譯生成文件, 但是會保留內核的配置文件.config, 還有足夠的編譯支持來建立擴展模塊
    make mrproper 刪除所有的編譯生成文件, 還有內核配置文件, 再加上各種備份文件
    make distclean mrproper刪除的文件, 加上編輯備份文件和一些補丁文件。
    4. 接下來是 make config 。
    具體參照 《make config 的幾種類型》
    一般採用 # make menuconfig 的方式
    此處需要兩個包,選擇最簡單的yum安裝
    # yum -y install gcc 和
    # yum install ncurses ncurses-devel。
    具體選項的作用參考 《Linux-3.10-x86_64 內核配置選項簡介 》
    對新的內核功能選擇,並生成一個 .config 的文件

    5. 編譯內核
    # make 和 # make moles_install (此處命令必須進入/usr/src/linux-x-x-x/才有效,否則會報錯)

    注意:2.6內核作了優化,不必顯示的執行make dep 和make bzImage,只需要直接執行
    make 就行,系統會自動完成make dep 和 make bzImage 所做的工作。

    6. 安裝內核
    # make install

    7. 修改默認啟動的內核(把游標處的default值改成0,就為默認啟動,編譯成功後默認為1)

    # vim /boot/grub/grub.conf

    用 cat /boot/grub/grub.conf 驗證並測試
    # cat /boot/grub/grub.conf
    看是否添加成功

    8. 重啟機器,查看效果
    默認的內核就是剛才編譯成功的。。。

    ㈨ 編譯環境cmake+gcc怎麼編譯mysql源碼

    方法/步驟

    1
    在安裝mysql資料庫伺服器前,確保你的linux系統是可以連接網路的,下面我們將通過源碼方式來安裝mysql首先通過putty登入進你的Linux系統,確保系統中已經安裝的gcc c++ 等編譯環境,因為mysql從5.5版本開始是使用cmake編譯的,如果三個環境都沒安裝,可以使用下面的命令進行安裝:yum -y install make gcc-c++ cmake bison-devel ncurses-devel

    2
    查找系統里是否已經安裝了mysql資料庫的相關組件,使用命令:rpm -qa | grep mysql 進行查找,如果查找到,可以使用下面命令進行強制卸載:rpm -e --nodeps 包名
    如果你當時在安裝Linux系統時,使用的默認的安裝選項,這一步可以跳過;

    ㈩ centos 6 如何安裝內核源碼包

    (1) http 安裝 centos 6.2

    假設: 1> 本機有grub , 將 iso 中isolinux中的 boot.cat grub.conf isolinux.bin vmlinuz

    boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32 拷貝到 本機的/boot中

    2> 將centos 6.2的光碟復制到 http服務下例如 /var/www/html 下面,將光碟的iso也復制到這個目錄下,有時安裝過程可能需要iso中的東西,centos會自動從iso文件中尋找

    安裝步驟:

    1> 進入grub的命令行模式,然後

    grub> root (hd0, 0 ) #選擇boot所在的分區作為根,根據自己的情況來定

    grub> kernel vmlinuz

    grub> initrd initrd.img

    grub> boot #啟動

    2> 選擇url安裝,配置ip神馬的就行了

    (2) 修改源

    cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

    vim /etc/yum.repos.d/CentOS-Base.repo

    1.[base]
    2.name=CentOS-$releasever - Base
    3.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 4.baseurl=http://run.hit.e.cn/centos/$releasever/os/$basearch/ 5.gpgcheck=1 6.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 7.
    8.#released updates
    9.[updates]
    10.name=CentOS-$releasever - Updates
    11.
    12.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates 13.
    14.baseurl=http://run.hit.e.cn/centos/$releasever/updates/$basearch/ 15.
    16.gpgcheck=1 17.
    18.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 19.
    20.#additional packages that may be useful
    21.
    22.[extras]
    23.
    24.name=CentOS-$releasever - Extras
    25.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras 26.
    27.baseurl=http://run.hit.e.cn/centos/$releasever/extras/$basearch/ 28.
    29.gpgcheck=1 30.
    31.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 32.
    33.#additional packages that extend functionality of existing packages
    34.
    35.[centosplus]
    36.
    37.name=CentOS-$releasever - Plus
    38.
    39.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus 40.
    41.baseurl=http://run.hit.e.cn/centos/$releasever/centosplus/$basearch/ 42.
    43.gpgcheck=1 44.
    45.enabled=1 46.
    47.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 48.
    49.#contrib - packages by Centos Users
    50.
    51.[contrib]
    52.
    53.name=CentOS-$releasever - Contrib
    54.
    55.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib 56.baseurl=http://run.hit.e.cn/centos/$releasever/contrib/$basearch/ 57.
    58.gpgcheck=1 59.
    60.enabled=1 61.
    62.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #yum clean all // 清除緩存

    #yum update

    #yum install xxx

    下載源碼包:

    wget http://vault.centos.org/6.2/updates/Source/SPackages/kernel-2.6.32-220.7.1.el6.src.rpm
    rpm -ivh xx.rpm

    cd rpmbuild/SPECS 此rpmbuild是安裝後在當前文件夾下的一個文件夾

    rpmbuild -bp --target=`uname -m` kernel.spec 此rpmbuild是命令

    之後 rpmbuild里有 BUILD,裡面就是源代碼了

    yumdownloaer 的使用。

    Ncurses 提供字元終端處理庫,包括面板和菜單。

    yum install ncurses-devel

    yum 中的幾個變數

    $releasever,發行版的版本,從[main]部分的distroverpkg獲取,如果沒有,則根據RedHat-release包進行判斷。

    $arch,cpu體系,如i686,athlon等

    $basearch,cpu的基本體系組,如i686和athlon同屬i386,alpha和alphaev6同屬alpha。

    對yum.conf設定完成,我們就可以好好體驗yum帶來的方便了。

    開機自動啟動配置文件,一段時間不用都忘了 /etc/rc.local

    本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文鏈接:http://www.linuxidc.com/Linux/2012-03/56876.htm

    熱點內容
    微笑的編程 發布:2024-10-04 19:04:38 瀏覽:234
    28歲學編程 發布:2024-10-04 18:56:24 瀏覽:187
    c語言定義函數結構體 發布:2024-10-04 18:46:19 瀏覽:404
    安卓抖音表情在哪裡下載 發布:2024-10-04 18:37:21 瀏覽:944
    雙色球演算法必中 發布:2024-10-04 18:36:25 瀏覽:205
    壓縮機濾網 發布:2024-10-04 18:27:13 瀏覽:892
    解壓縮一幀圖像 發布:2024-10-04 18:17:00 瀏覽:308
    存儲講解p 發布:2024-10-04 18:12:41 瀏覽:744
    普聯監控管理系統的伺服器地址 發布:2024-10-04 17:46:38 瀏覽:602
    qq瀏覽器如何注冊賬戶密碼 發布:2024-10-04 17:44:00 瀏覽:153