亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

嵌入式QT移植的實(shí)現(xiàn)

 更新時(shí)間:2022年05月19日 09:34:01   作者:別來(lái)無(wú)恙呀i  
本文主要介紹了嵌入式QT移植的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、軟件包、環(huán)境說(shuō)明

1.1 軟件包

1.1.1 通用交叉編譯工具鏈

gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

1.1.2 qt源碼

qt-everywhere-src-5.12.9.tar.xz
下載地址:https://download.qt.io/archive/qt/5.12/5.12.9/single/

1.1.3 tslib(觸摸屏校準(zhǔn)插件)

tslib-1.21.tar.bz2
下載git地址:https://github.com/libts/tslib

1.1.4 fonts字體庫(kù)(qt支持中文)

DroidSansFallback.ttf

1.2 環(huán)境說(shuō)明

1、Ubuntu版本:16.04
2、Qt應(yīng)用程序版本:Q5.14.2
3、開發(fā)板:正點(diǎn)原子阿爾法開發(fā)板(I.MX6ULL)
4、觸摸屏:正點(diǎn)原子RGB觸摸屏4.3寸、800*480

二、環(huán)境搭建

2.1 ubuntu下安裝通用的交叉編譯器

1、將交叉編譯工具包(gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz)拷貝到ubuntu的/usr/local/arm/目錄下。

2、在當(dāng)前目錄解壓交叉編譯工具包

3、解壓完成后,將路徑加入到環(huán)境變量中/etc/profile文件

sudo vim /etc/profile

在末尾加入:

4、重新使能環(huán)境變量

source /etc/profile

5、查看交叉編譯工具是否添加成功

arm-linux-gnueabihf-gcc -v (tab鍵可補(bǔ)全)

出現(xiàn)這個(gè)則說(shuō)明通用的交叉編譯工具鏈安裝成功,版本為4.9.4
沒有的話,檢查/etc/profile里面添加的文件路徑是否正確
至此,通用的交叉編譯工具鏈安裝完成

2.2 ubuntu下編譯Qt源碼

2.2.1 編譯這個(gè)有什么用呢?

windows下面開發(fā)qt是不用編譯,因?yàn)樵谀鉸t軟件的安裝目錄下已經(jīng)有這個(gè)lib庫(kù)文件,直接運(yùn)行會(huì)自動(dòng)連接到去qt安裝目錄下找?guī)煳募?,如qpushbutton.h、qcombox.h等文件,在qt安裝目錄下E:\qt\Qt5.12.9\5.12.9\Src\qtbase\include\QtWidgets里面。
qt應(yīng)用程序移植到開發(fā)板上面運(yùn)行,也需要連接到lib庫(kù),編譯qt源碼就是處理lib庫(kù),方便qt在開發(fā)板上運(yùn)行不報(bào)xx文件找不到的錯(cuò)誤。

2.2.2 拷貝qt源碼到ubuntu

拷貝源碼到你Ubuntu指定的目錄下面,解壓。(后面這個(gè)路徑需要用到)

2.2.3 修改qmake.conf文件

主要配置你編譯qt源碼使用的交叉工具鏈(上面裝的那個(gè)工具鏈)和一些配置信息。
進(jìn)入到qt源碼目錄:

編輯 qtbase/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf文件

添加紅色框里面的內(nèi)容:

/*硬件配置信息、armv7-a、估計(jì)不同arm內(nèi)核這里要改,具體沒研究過(guò)*/
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
/*編譯qt源碼使用的交叉編譯工具鏈*/
arm-linux-gnueabihf

修改之后保存。

2.2.4 修改配置編譯選項(xiàng)

在qt源碼目錄下有一個(gè)configure的腳本,使用對(duì)qt源碼進(jìn)行配置的。可以根據(jù)自己的需求裁剪一些不必要的功能,編譯之后lib庫(kù)文件大小當(dāng)然也會(huì)相應(yīng)的縮小。
終端輸入 ./configure -help 可以查看配置選項(xiàng)
這里搞在弄一個(gè)shell腳本,進(jìn)行配置qt源碼:
終端輸入 vim autoconfigure.sh
輸入下面指令:

./configure -prefix /home/wx/linux/qt/source-code/qt-everywhere-src-5.12.9/arm-qt \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/home/wx/linux/qt/tslib/tslib-1.21/arm-tslib/include \ 
-L/home/wx/linux/qt/tslib/tslib-1.21/arm-tslib/lib \ 
-recheck-all

倒數(shù)第三行、第二行是tslib庫(kù)的頭文件路徑和庫(kù)文件路徑,根據(jù)自己的填入即可,tslib的編譯后面會(huì)講到。
這個(gè)是我使用的配置文件,測(cè)試是沒有問題的。直接復(fù)制的話注意每一行的那個(gè)(換行符)后面不要留空格,留空格的話執(zhí)行會(huì)報(bào)找不到命令錯(cuò)誤。
修改完成之后,給腳本加上可執(zhí)行權(quán)限

chmod +777 autoconfigure.sh

之后執(zhí)行腳本

./autoconfigure.sh

出現(xiàn)這種則說(shuō)明配置完成。

2.2.5 編譯qt源碼

接上面,配置后面提示、輸入make、現(xiàn)在就編譯源碼。
輸入make install,裝載編譯后源碼到執(zhí)行目錄。
這個(gè)的指定目錄就是autoconfigure.sh這個(gè)腳本第一行的路徑。

我這里是在qt源碼的根目錄下新建一個(gè)arm-qt目錄,大家也指定其他目錄。
終端輸入make、開始編譯qt源碼

等待編譯完成。

源碼編譯完成后,在終端輸入make install,將生成的lib庫(kù)文件拷貝到指定的目錄里面,我這指定的是qt源碼目錄下arm-qt文件夾里面。
等待拷貝完成后,進(jìn)入arm-qt文件夾里面,查看內(nèi)容:

至此,QT源碼編譯就完成了,后面會(huì)用到arm-qt文件夾里面的東西。

2.3 ubuntu下編譯tslib庫(kù)

2.3.1 拷貝解壓tslib到Ubuntu

開始之前,先安裝幾個(gè)工具,編譯tslib庫(kù)時(shí)需要用到。

sudo apt-get update
sudo apt-get install autoconf automake libtool

tslib源碼包大家自行拷貝解壓到自己的目錄下:

我這里已經(jīng)拷貝解壓了,大家根據(jù)自己的目錄拷貝解壓即可。

2.3.2 配置tslib

進(jìn)入tslib文件夾里面,看到有一個(gè)configure的文件,和qt源碼根目錄里面的一樣,也是一個(gè)配置腳本。我們需要執(zhí)行這個(gè)腳本來(lái)指定使用交叉工具鏈和編譯后生成文件的存放路徑。
執(zhí)行下列命令:

./configure --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/home/wx/linux/qt/tslib/tslib-1.21/arm-tslib

這里/home/wx/linux/qt/tslib/tslib-1.21/arm-tslib路徑是我的存放路徑,你也可以在你tslib根目錄下創(chuàng)建一個(gè)arm-tslib文件夾用于 存放編譯后的文件。

mkdir arm-tslib

等待配置完成之后就可以執(zhí)行make.
終端輸入make回車,開始編譯tslib。

如果之前你已經(jīng)編譯過(guò),那make之前需要執(zhí)行make clean命令,把之前make編譯的文件刪除掉,不執(zhí)行好像也可以,個(gè)人感覺最好清一下。
等待make完成之后,執(zhí)行sudo make install指令(不加sudo好像不行,沒權(quán)限)。

make install時(shí)報(bào)這個(gè)錯(cuò)誤,我記得我第一次編譯沒問題的,很奇怪,百度找找了。

配置的時(shí)候參數(shù)改成上面那樣就沒有問題,所以有一些告警,可以忽略。

./configure --host=arm-linux --prefix=`pwd`/arm-tslib CC=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

gcc交叉編譯工具改成了絕對(duì)路徑,大家根據(jù)自己實(shí)際情況修改。
好了,再次配置tslib,

make clean
make
sudo make install

ok,這次沒有問題。
進(jìn)入arm-tslib目錄下, ls下,該有文件都已經(jīng)有了。

看一下文件的類型:是不是ARM架構(gòu)下的文件

file bin/ts_calibrate


是arm架構(gòu),沒問題,如果你的是x86架構(gòu),請(qǐng)檢查你的交叉編譯工具是否正確。
至此,tslib庫(kù)編譯已經(jīng)完成。

2.4 配置ARM架構(gòu)下Qt Creator環(huán)境

2.4.1 qt creator環(huán)境配置

安裝qt creator就不講了,大家不會(huì)的百度很容易找到。
打開qt creator軟件
在菜單欄中選擇工具->選項(xiàng)->kits->Qt Versions->addr

配置kits:

這里圖我就直接貼正點(diǎn)原子的了,感覺挺易懂明了的。

2.4.2 編譯測(cè)試qt程序

qt creator環(huán)境配置好之后,編譯qt測(cè)試應(yīng)用測(cè)試。
新建工程什么的,大家應(yīng)該都會(huì)了,新建工程的最后一步,大家需要特別注意,一定到勾選ARM平臺(tái)的開發(fā)套件(Kits)。

創(chuàng)建好工程后,編寫測(cè)試應(yīng)用程序。

/*mainwindow.h文件*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>
#include <QTextBrowser>
#include <QFontDatabase>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QPushButton *pPushButton_Test1;
    QPushButton *pPushButton_Test2;
    QTextBrowser *pTestBrowser;

private slots:
    void pPushButton_Test1_clicked(void);
    void pPushButton_Test2_clicked(void);
};
#endif // MAINWINDOW_H

/*mainwindow.cpp文件*/
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    /*實(shí)例化對(duì)象*/
    pPushButton_Test1 = new QPushButton(this);
    pPushButton_Test1->setText("測(cè)試按鈕1");
    pPushButton_Test2 = new QPushButton(this);
    pPushButton_Test2->setText("測(cè)試按鈕2");
    pTestBrowser = new QTextBrowser(this);

    /*設(shè)置位置*/
    pPushButton_Test1->setGeometry(10,10,150,50);
    pPushButton_Test2->setGeometry(10,80,150,50);
    pTestBrowser->setGeometry(200,10,500,250);

/*字體庫(kù)路徑設(shè)置、ubuntu里面不用打開,arm里面需要打開,否則會(huì)找不到字庫(kù)的位置
 * /etc/fonts/DroidSansFallback.ttf - 是我開發(fā)板文件系統(tǒng)里面字庫(kù)的位置
 */
#if 1
    int id = QFontDatabase::addApplicationFont("/etc/fonts/DroidSansFallback.ttf");
    QString msyh = QFontDatabase::applicationFontFamilies (id).at(0);
    QFont font(msyh,10);
    font.setPointSize(20);
    this->setFont(font);
#endif
    /*關(guān)聯(lián)信號(hào)與槽*/
    connect(pPushButton_Test1,SIGNAL(clicked()),this,SLOT(pPushButton_Test1_clicked()));
    connect(pPushButton_Test2,SIGNAL(clicked()),this,SLOT(pPushButton_Test2_clicked()));
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::pPushButton_Test1_clicked(void)
{
    pTestBrowser->append("測(cè)試按鈕1被點(diǎn)擊!");
}
void MainWindow::pPushButton_Test2_clicked(void)
{
    pTestBrowser->append("測(cè)試按鈕2被點(diǎn)擊!");
}

編寫完成之后,Debug那里選擇要使用kits。

選擇ARM架構(gòu)的開發(fā)套件編譯之后的可執(zhí)行文件是ARM架構(gòu),可以在arm開發(fā)板上運(yùn)行,選擇x86架構(gòu)的開發(fā)套件可執(zhí)行文件是x86架構(gòu),直接可以在ubuntu里面或者windows里面運(yùn)行,這里我們選擇ARM架構(gòu)的套件。

選好之后,在菜單欄構(gòu)建->build All Projects;

最下面狀態(tài)欄點(diǎn)擊4編譯輸出,出現(xiàn)下列提示,則說(shuō)明編譯成功。

個(gè)人感覺可以先選擇x86的開發(fā)套件,在windos下直接運(yùn)行,看看效果,然后在選擇arm架構(gòu)的套件編譯。
注意:選擇arm架構(gòu)的開發(fā)套件生成的可執(zhí)行文件是無(wú)法直接運(yùn)行的,因?yàn)槟愕臋C(jī)器(電腦)是x86架構(gòu)。
進(jìn)入qt的工程目錄下面,查找最后生成的可執(zhí)行文件:

進(jìn)入到build-test_demo-ARM_Qt5_12_9-Debug目錄里面:

ls
file test_demo

當(dāng)然,你也可以使用qmake 、make,生成可執(zhí)行文件。
文件類型是32位ARM結(jié)構(gòu)的可執(zhí)行文件,那就沒錯(cuò)了。

至此,Qt測(cè)試應(yīng)用程序就做好了。

2.5 移植qt到開發(fā)板文件系統(tǒng)

2.5.1 拷貝庫(kù)文件到開發(fā)板文件系統(tǒng)

我這里用的是SD卡啟動(dòng),內(nèi)核、設(shè)備樹、根文件系統(tǒng)都在SD卡里面。

1、將qt源碼目錄下arm-qt文件拷貝到開發(fā)板根文件系統(tǒng)/usr/lib/下面。

sudo cp -rvf arm-qt /media/wx/rootfs/usr/lib/

我這里SD卡的分區(qū)2(存放的根文件系統(tǒng))已經(jīng)掛載到ubuntu的/media/wx/rootfs/下面了,故這里直接拷貝即可,注意要加上sudo權(quán)限。

2、將tslib庫(kù)文件也拷貝到開發(fā)板根文件系統(tǒng)/usr/lib/下面

arm-qt、arm-tslib都是前面編譯好的文件。

3、將font字體文件拷貝到開發(fā)板根文件系統(tǒng)/etc/font文件夾下面
/etc/下沒有這個(gè)文件夾你就創(chuàng)建一個(gè)。

4、將qt測(cè)試應(yīng)用程序拷貝到開發(fā)板根文件系統(tǒng)/temp文件夾下面
其他文件夾應(yīng)該也行,我這里是拷貝到/temp

特別注意:這里是指開發(fā)板的根文件目錄下面,不要拷貝你ubuntu的根目錄下面,不然就尷尬了。

2.5.2 修改開發(fā)板/etc/profile,添加環(huán)境變量

前面你把這些庫(kù)文件都添加進(jìn)去了,不添加環(huán)境變量系統(tǒng)是找不到的。

#!/bin/sh
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

export TERM=vt100
export TERMINFO=/usr/share/terminfo

export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_ROOT=/usr/lib/arm-tslib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal

export QT_ROOT=/usr/lib/arm-qt
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QML2_IMPORT_PATH=$QT_ROOT/qml
export QT_QPA_FB_TSLIB=1

export ALSA_CONFIG_PATH=/usr/share/arm-alsa/alsa.conf

export XDG_RUNTIME_DIR=/usr/lib/
export RUNLEVEL=3
export QT_QPA_FONTDIR=/etc/fonts/

上面是我profile里面的內(nèi)容,簡(jiǎn)單說(shuō)一吧,其實(shí)我也剛接觸不是了解太多,不正確的地址請(qǐng)指正哈。
export TSLIB_ROOT=/usr/lib/arm-tslib //tslib的放的位置
export TSLIB_TSDEVICE=/dev/input/event1 //觸摸屏的設(shè)備文件
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf //tslib庫(kù)的配置文件
export QT_ROOT=/usr/lib/arm-qt //qt源碼庫(kù)的位置
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1 //qt程序觸摸對(duì)應(yīng)的設(shè)備文件,我就是因?yàn)闆]有加這個(gè)導(dǎo)致qt程序運(yùn)行起來(lái)后,無(wú)法觸摸點(diǎn)擊,鼠標(biāo)是可以動(dòng)
export QT_QPA_FONTDIR=/etc/fonts/ //字體庫(kù)的位置、其他位置應(yīng)該也可以
好了,到這里差不多了。

三、測(cè)試

將SD插入開發(fā)板中,設(shè)置開發(fā)板從SD啟動(dòng)。

進(jìn)入/temp目錄里面,執(zhí)行test_demo
cd /temp/
./test_demo & /&是后臺(tái)運(yùn)行/

可以看到中文顯示和觸摸點(diǎn)擊都o(jì)k!大功告成。
還有一點(diǎn):
你編譯qt編碼的交叉編譯器必須和編譯qt測(cè)試程序的編譯器一致,不然可能會(huì)有問題。

到此這篇關(guān)于嵌入式QT移植的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)嵌入式QT移植內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C/C++?單元自動(dòng)化測(cè)試解決方案總結(jié)

    C/C++?單元自動(dòng)化測(cè)試解決方案總結(jié)

    這篇文章主要介紹了C/C++?單元自動(dòng)化測(cè)試解決方案總結(jié),通過(guò)利用GCC插件來(lái)實(shí)現(xiàn)提升C/C++開發(fā)者的單元效率工具解決方案,希望對(duì)大家在提升單元測(cè)試效率上有所啟發(fā)
    2022-06-06
  • C++游戲教程基本技巧之隨機(jī)化詳解

    C++游戲教程基本技巧之隨機(jī)化詳解

    在小游戲的制作中時(shí)常常會(huì)要用到隨機(jī)數(shù),這篇文章就來(lái)和大家談?wù)凜++中這個(gè)所謂的“隨機(jī)”。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-11-11
  • C語(yǔ)言編程簡(jiǎn)單卻重要的數(shù)據(jù)結(jié)構(gòu)順序表全面講解

    C語(yǔ)言編程簡(jiǎn)單卻重要的數(shù)據(jù)結(jié)構(gòu)順序表全面講解

    這篇文章主要為大家介紹了C語(yǔ)言編程中非常簡(jiǎn)單卻又非常重要的數(shù)據(jù)結(jié)構(gòu)順序表的全面講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • 關(guān)于C++中的友元函數(shù)的一些總結(jié)

    關(guān)于C++中的友元函數(shù)的一些總結(jié)

    以下是對(duì)C++中的友元函數(shù)進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • C++單例模式的實(shí)例詳解

    C++單例模式的實(shí)例詳解

    這篇文章主要介紹了C++單例模式的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C語(yǔ)言make和Makefile介紹及使用

    C語(yǔ)言make和Makefile介紹及使用

    這篇文章介紹了C語(yǔ)言make和Makefile以及使用方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C++類的靜態(tài)成員初始化詳細(xì)講解

    C++類的靜態(tài)成員初始化詳細(xì)講解

    通常靜態(tài)數(shù)據(jù)成員在類聲明中聲明,在包含類方法的文件中初始化.初始化時(shí)使用作用域操作符來(lái)指出靜態(tài)成員所屬的類.但如果靜態(tài)成員是整型或是枚舉型const,則可以在類聲明中初始化
    2013-09-09
  • C語(yǔ)言版實(shí)現(xiàn)鏈隊(duì)列

    C語(yǔ)言版實(shí)現(xiàn)鏈隊(duì)列

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言版實(shí)現(xiàn)鏈隊(duì)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • C語(yǔ)言自增(++)和自減(--)實(shí)例詳解

    C語(yǔ)言自增(++)和自減(--)實(shí)例詳解

    本篇文章主要介紹了C語(yǔ)言的自增和自減的基本知識(shí),并附有代碼示例,以便大家理解,有需要的朋友可以看下
    2016-07-07
  • C語(yǔ)言之包含min函數(shù)的棧實(shí)例詳解

    C語(yǔ)言之包含min函數(shù)的棧實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言之包含min函數(shù)的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02

最新評(píng)論