chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux下如何編譯C程序?

Q4MP_gh_c472c21 ? 來源:嵌入式大雜燴 ? 2020-09-20 10:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Windows下常用IDE來編譯,Linux下直接使用gcc來編譯,編譯過程是Linux嵌入式編程的基礎(chǔ),也是嵌入式高頻基礎(chǔ)面試問題。

一、命令行編譯及各個細分編譯過程

hello.c示例代碼:

#include intmain(void) { printf("Helloworld "); return0; }

編譯:

gcchello.c-ohello

如有必要,還需回答出細分的幾個步驟:

gcc-Ehello.c-ohello.i#預(yù)處理階段 gcc-Shello.i-ohello.s#編譯階段 gcc-chello.s-ohello.o#匯編階段 gcchello.o-ohello#鏈接階段

具體細節(jié)可查往期筆記:《C程序編譯過程》

二、借助make來編譯

少量文件時可以使用上面方法編譯。源碼文件較多時,可借用make工具。make通過解析Makefile文件來執(zhí)行一些gcc命令進行編譯。

首先得創(chuàng)建一個Makefile文件,如:

hello:hello.c gcchello.c-ohello

編譯運行:

上面更細分編譯過程的Makefile文件如下:

關(guān)于make及Makefile更多內(nèi)容可查閱:

【Linux筆記】make工程管理工具(一)

【Linux筆記】make工程管理工具(二)

三、借助CMake生成Makefile

實際開發(fā)很少會像上面一樣自己編寫Makefile文件,可借助cmake工具來生成。

CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。

1、命令行操作

首先輸入cmake --version命令查看cmake版本,若還沒安裝則執(zhí)行如下命令安裝:

sudoaptinstallcmake

下面開始實驗演示。我們的cmake_test文件夾下有一個hello.c文件,在同文件夾下創(chuàng)建一個 CMakeLists.txt 文件:

輸入如下內(nèi)容:

cmake_minimum_required (VERSION 3.10.2) project (cmake_test) add_executable(cmake_test hello.c)

然后在cmake_test目錄下依次輸入如下命令生成Makefile文件:

mkdirbuild#創(chuàng)建build文件夾 cdbuild#進入build文件夾 cmake../#在cmake_test文件夾下生成Makefile

執(zhí)行結(jié)果如下:

關(guān)于CMakeLists.txt文件具體語法感興趣的朋友可自行查閱資料進行學(xué)習(xí)。

2、使用cmake-gui

上述是在命令行下使用cmake生成Makefile進行進行編譯的方法。我們也可以使用圖形化界面來生成Makefile文件。cmake-gui是cmake的一個圖形化工具。下面依舊以實例作為演示。

我們把上一小節(jié)的CMakeLists.txt 與hello.c文件放入新創(chuàng)建的文件夾cmake-gui_test中:

在終端輸入 cmake-gui 命令啟動cmake-gu圖形化工具。若未安裝可輸入如下命令進行安裝:

sudoaptinstallcmake-qt-gui

如:

啟動cmake-gui:

查看cmake-gui_test文件夾:

編譯運行:

以上分享了一些編譯的過程及方法,都是基礎(chǔ)內(nèi)容,需要熟練掌握。如果覺得文章對你有幫助,歡迎轉(zhuǎn)發(fā)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5175

    文章

    19983

    瀏覽量

    324532
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11576

    瀏覽量

    216701
  • C程序
    +關(guān)注

    關(guān)注

    4

    文章

    255

    瀏覽量

    37270

原文標題:還能這樣用?Linux下如何編譯C程序?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何單獨編譯linux內(nèi)核?

    那套sdk?純linux sdk編譯方法見readmehttps://github.com/kendryte/k230_linux_sdk/ make linux
    發(fā)表于 07-11 08:06

    linux使用cyusbserial SDK錯誤怎么解決?

    我使用的TI DLP3010EVM模塊是通過CY7C65215 芯片進行控制的,我可以在win環(huán)境正常使用TI DLP的調(diào)試軟件或者使用cyusbserial SDK的vs程序完成對設(shè)備的控制
    發(fā)表于 06-03 07:46

    能否提供LinuxUSB轉(zhuǎn)SPI模式的測試程序

    我已在 Linux 上成功配置了 CY7C65211 器件,使其在 USB 轉(zhuǎn) SPI 模式運行。 使用 lsusb 命令,設(shè)備顯示如下:總線 003 設(shè)備 002:ID 04b4:0004
    發(fā)表于 05-22 06:16

    不借助Linux系統(tǒng),在Windows如何搭建ZMC900E交叉編譯環(huán)境

    嵌入式Linux系統(tǒng),由于系統(tǒng)資源的匱乏,通常無法安裝本地編譯器進行本地開發(fā),而需要在借助一臺主機進行交叉開發(fā)。一般情況,在主機安裝相應(yīng)的交叉編譯器,將在主機編
    的頭像 發(fā)表于 05-21 11:34 ?512次閱讀
    不借助<b class='flag-5'>Linux</b>系統(tǒng),在Windows<b class='flag-5'>下</b>如何搭建ZMC900E交叉<b class='flag-5'>編譯</b>環(huán)境

    Linux環(huán)境再升級:PLIN驅(qū)動程序正式發(fā)布

    PLIN驅(qū)動程序現(xiàn)已正式發(fā)布,本文將展示如何安裝PLIN驅(qū)動程序,以及如何在Linux環(huán)境進行基本的PLIN通信操作,確保您能夠快速掌握并應(yīng)用這一新工具。
    的頭像 發(fā)表于 04-21 15:29 ?597次閱讀
    <b class='flag-5'>Linux</b>環(huán)境再升級:PLIN驅(qū)動<b class='flag-5'>程序</b>正式發(fā)布

    Linux內(nèi)核編譯失敗?移動硬盤和虛擬機的那些事兒

    Linux開發(fā)中,編譯內(nèi)核是一項常見任務(wù),但不少開發(fā)者在移動硬盤或虛擬機環(huán)境嘗試時會遭遇失敗。本文將簡要探討這些問題的成因,并介紹一些虛擬機使用技巧,幫助大家更好地應(yīng)對相關(guān)問題。在移動硬盤里
    的頭像 發(fā)表于 04-11 11:36 ?587次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核<b class='flag-5'>編譯</b>失?。恳苿佑脖P和虛擬機的那些事兒

    FPGA Verilog HDL語法之編譯預(yù)處理

    Verilog HDL語言和C語言一樣也提供了編譯預(yù)處理的功能?!?b class='flag-5'>編譯預(yù)處理”是Verilog HDL編譯系統(tǒng)的一個組成部分。Verilog HDL語言允許在
    的頭像 發(fā)表于 03-27 13:30 ?901次閱讀
    FPGA Verilog HDL語法之<b class='flag-5'>編譯</b>預(yù)處理

    linux編譯了cyusbserial SDK生成so文件,但是運行測試程序和編寫API都訪問不到DLP3010EVM,為什么?

    在win我可以正常使用GUI軟件和示例API訪問DLP3010EVM,但是在linux編譯了cyusbserial SDK生成so文件,但是運行測試
    發(fā)表于 02-26 08:27

    干貨來嘍!實用樹莓派Linux編譯指南

    不友好,有沒有好的解決辦法? 今天來分享一我的私藏干貨——樹莓派Linux編譯。編譯好之后,開發(fā)板只需插到樹莓派上連接電腦就可以直接用了,極其方便。 本文以樹莓派為例,其他板子只要帶
    的頭像 發(fā)表于 12-18 16:31 ?712次閱讀
    干貨來嘍!實用樹莓派<b class='flag-5'>Linux</b><b class='flag-5'>編譯</b>指南

    RZ T2H PCIe裸機程序開發(fā)和Linux的配置介紹

    ,還提供2個PCIe Gen3通道等高速外設(shè)。本文主要介紹PCIe外設(shè)的功能、裸機EP模式的程序開發(fā)、以及在Linux,如何編譯網(wǎng)卡的流
    的頭像 發(fā)表于 12-18 11:14 ?2145次閱讀
    RZ T2H PCIe裸機<b class='flag-5'>程序</b>開發(fā)和<b class='flag-5'>Linux</b><b class='flag-5'>下</b>的配置介紹

    實用樹莓派Linux編譯指南,打工人必備!

    不友好,有沒有好的解決辦法? 今天來分享一我的私藏干貨——樹莓派Linux編譯。編譯好之后,開發(fā)板只需插到樹莓派上連接電腦就可以直接用了,極其方便。 本文以樹莓派為例,其他板子只要帶
    的頭像 發(fā)表于 12-17 16:19 ?1819次閱讀
    實用樹莓派<b class='flag-5'>Linux</b><b class='flag-5'>編譯</b>指南,打工人必備!

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    <b class='flag-5'>Linux</b>驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序</b>員指南

    用戶手冊 | 全志T113-S3開發(fā)板——SDK編譯指南

    ,不像發(fā)行版那樣需要編譯整個linux系統(tǒng),只需要指定特定開發(fā)的功能包進行交叉編譯即可。本文為大家介紹全志T113-S3開發(fā)板在眺望電子提供的SDK環(huán)境如何
    的頭像 發(fā)表于 11-01 08:08 ?6399次閱讀
    用戶手冊 | 全志T113-S3開發(fā)板——SDK<b class='flag-5'>編譯</b>指南

    C7000優(yōu)化C/C++編譯

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++<b class='flag-5'>編譯</b>器

    Linux應(yīng)用編程的基本概念

    Linux應(yīng)用編程涉及到在Linux環(huán)境開發(fā)和運行應(yīng)用程序的一系列概念。以下是一些涵蓋Linux應(yīng)用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?865次閱讀