linux中的預(yù)處理命令,什么是預(yù)處理命令

在Linux下make出現(xiàn)的錯(cuò)誤,求指教

#error是C語言的預(yù)處理指令,其作用是在編譯程序時(shí),遇到#error 就會(huì)生成一個(gè)編譯錯(cuò)誤提示消息,并停止編譯。它是用來確保程序在關(guān)鍵點(diǎn)上確實(shí)按照程序員的想法被預(yù)處理,否則便無法編譯通過,而且,編譯期的行為不會(huì)引起任何運(yùn)行期的資源開銷。

在濟(jì)水街道等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),濟(jì)水街道網(wǎng)站建設(shè)費(fèi)用合理。

從這里的字面意思是,SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH 超出了 BITS_PER_LONG - NR_PAGEFLAGS 的范圍,所以導(dǎo)致無法編譯通過,發(fā)生這個(gè)錯(cuò)誤的原因可能和你本機(jī)的環(huán)境和配置有關(guān)。你可以試試./configure, make menuconfig.... 等諸如此類和調(diào)整配置有關(guān)的命令,然后再編譯。

linux必學(xué)的60條命令是什么?

前言

第1章 Linux命令行簡介 / 1

1.1Linux命令行概述 / 1

1.2在Linux命令行下查看命令幫助 / 4

1.3Linux shutdown reboot halt / 9

關(guān)機(jī):

shutdown -h now

halt

init 0

第2章 文件和目錄操作命令 / 13

2.1pwd:顯示當(dāng)前所在的位置 / 13

2.2cd:切換目錄 / 16

2.3tree:以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容 / 18

2.4mkdir:創(chuàng)建目錄 / 22

2.5touch:創(chuàng)建空文件或改變文件的時(shí)間戳屬性 / 27

2.6ls:顯示目錄下的內(nèi)容及相關(guān)屬性信息 / 30

2.7cp:復(fù)制文件或目錄 / 39

2.8mv:移動(dòng)或重命名文件 / 42

2.9rm:刪除文件或目錄 / 45

2.10rmdir:刪除空目錄 / 48

2.11ln:硬鏈接與軟鏈接 / 49

2.12readlink:查看符號(hào)鏈接文件的內(nèi)容 / 54

2.13find:查找目錄下的文件 / 55

2.14xargs:將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù) / 68

2.15rename:重命名文件 / 71

2.16basename:顯示文件名或目錄名 / 72

2.17dirname:顯示文件或目錄路徑 / 72

2.18chattr:改變文件的擴(kuò)展屬性 / 73

2.19lsattr:查看文件擴(kuò)展屬性 / 75

2.20file:顯示文件的類型 / 76

2.21md5sum:計(jì)算和校驗(yàn)文件的MD5值 / 77

2.22chown:改變文件或目錄的用戶和用戶組 / 80

2.23chmod:改變文件或目錄權(quán)限 / 81

2.24chgrp:更改文件用戶組 / 85

2.25umask:顯示或設(shè)置權(quán)限掩碼 / 86

2.26老男孩從新手成為技術(shù)大牛的心法 / 90

第3章 文件過濾及內(nèi)容編輯處理命令 / 91

3.1cat:合并文件或查看文件內(nèi)容 / 91

3.2tac:反向顯示文件內(nèi)容 / 103

3.3more:分頁顯示文件內(nèi)容 / 104

3.4less:分頁顯示文件內(nèi)容 / 107

3.5head:顯示文件內(nèi)容頭部 / 109

3.6tail:顯示文件內(nèi)容尾部 / 111

3.7tailf:跟蹤日志文件 / 114

3.8cut:從文本中提取一段文字并輸出 / 115

3.9split:分割文件 / 117

3.10paste:合并文件 / 118

3.11sort:文本排序 / 123

3.12join:按兩個(gè)文件的相同字段合并 / 127

3.13uniq:去除重復(fù)行 / 129

3.14wc:統(tǒng)計(jì)文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131

3.15iconv:轉(zhuǎn)換文件的編碼格式 / 133

3.16dos2unix:將DOS格式文件轉(zhuǎn)換成UNIX格式 / 134

3.17diff:比較兩個(gè)文件的不同 / 135

3.18vimdiff:可視化比較工具 / 138

3.19rev:反向輸出文件內(nèi)容 / 139

3.20tr:替換或刪除字符 / 140

3.21od:按不同進(jìn)制顯示文件 / 143

3.22tee:多重定向 / 145

3.23vi/vim:純文本編輯器 / 147

3.24老男孩逆襲思想:做Linux運(yùn)維的多個(gè)好處 / 152

第4章 文本處理三劍客 / 153

4.1grep:文本過濾工具 / 153

4.2sed:字符流編輯器 / 159

4.3awk基礎(chǔ)入門 / 165

第5章 Linux信息顯示與搜索文件命令 / 176

5.1uname:顯示系統(tǒng)信息 / 176

5.2hostname:顯示或設(shè)置系統(tǒng)的主機(jī)名 / 178

5.3dmesg:系統(tǒng)啟動(dòng)異常診斷 / 179

5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181

5.5du:統(tǒng)計(jì)磁盤空間使用情況 / 183

5.6date:顯示與設(shè)置系統(tǒng)時(shí)間 / 186

5.7echo:顯示一行文本 / 190

5.8watch:監(jiān)視命令執(zhí)行情況 / 193

5.9which:顯示命令的全路徑 / 195

5.10whereis:顯示命令及其相關(guān)文件全路徑 / 196

5.11locate:快速定位文件路徑 / 197

5.12updatedb:更新mlocate數(shù)據(jù)庫 / 199

5.13老男孩逆襲思想:新手在工作中如何問問題不會(huì)被鄙視 / 200

第6章 文件備份與壓縮命令 / 201

6.1tar:打包備份 / 201

6.2gzip:壓縮或解壓文件 / 208

6.3zip:打包和壓縮文件 / 211

6.4unzip:解壓zip文件 / 212

6.5scp:遠(yuǎn)程文件復(fù)制 / 214

6.6rsync:文件同步工具 / 216

6.7老男孩逆襲思想:新手如何高效地提問 / 220

第7章 Linux用戶管理及用戶信息查詢命令 / 222

7.1 useradd:創(chuàng)建用戶 / 222

7.2usermod:修改用戶信息 / 227

7.3userdel:刪除用戶 / 229

7.4groupadd:創(chuàng)建新的用戶組 / 230

7.5groupdel:刪除用戶組 / 231

7.6passwd:修改用戶密碼 / 232

7.7chage:修改用戶密碼有效期 / 237

7.8chpasswd:批量更新用戶密碼 / 238

7.9su:切換用戶 / 240

7.10visudo:編輯sudoers文件 / 242

7.11sudo:以另一個(gè)用戶身份執(zhí)行命令 / 244

7.12id:顯示用戶與用戶組的信息 / 248

7.13w:顯示已登錄用戶信息 / 249

7.14who:顯示已登錄用戶信息 / 250

7.15users:顯示已登錄用戶 / 252

7.16whoami:顯示當(dāng)前登錄的用戶名 / 253

7.17last:顯示用戶登錄列表 / 253

7.18lastb:顯示用戶登錄失敗的記錄 / 254

7.19lastlog:顯示所有用戶的最近登錄記錄 / 255

第8章 Linux磁盤與文件系統(tǒng)管理命令 / 257

8.1fdisk:磁盤分區(qū)工具 / 257

8.2partprobe:更新內(nèi)核的硬盤分區(qū)表信息 / 265

8.3tune2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266

8.4parted:磁盤分區(qū)工具 / 268

8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272

8.6dumpe2fs:導(dǎo)出ext2/ext3/ext4文件系統(tǒng)信息 / 274

8.7resize2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)大小 / 275

8.8fsck:檢查并修復(fù)Linux文件系統(tǒng) / 278

8.9dd:轉(zhuǎn)換或復(fù)制文件 / 281

8.10mount:掛載文件系統(tǒng) / 284

8.11umount:卸載文件系統(tǒng) / 288

8.12df:報(bào)告文件系統(tǒng)磁盤空間的使用情況 / 289

8.13mkswap:創(chuàng)建交換分區(qū) / 293

8.14swapon:激活交換分區(qū) / 294

8.15swapoff:關(guān)閉交換分區(qū) / 295

8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296

第9章 Linux進(jìn)程管理命令 / 298

9.1ps:查看進(jìn)程 / 298

9.2pstree:顯示進(jìn)程狀態(tài)樹 / 305

9.3pgrep:查找匹配條件的進(jìn)程 / 306

9.4kill:終止進(jìn)程 / 307

9.5killall:通過進(jìn)程名終止進(jìn)程 / 310

9.6pkill:通過進(jìn)程名終止進(jìn)程 / 311

9.7top:實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況 / 313

9.8nice:調(diào)整程序運(yùn)行時(shí)的優(yōu)先級(jí) / 320

9.9renice:調(diào)整運(yùn)行中的進(jìn)程的優(yōu)先級(jí) / 323

9.10nohup:用戶退出系統(tǒng)進(jìn)程繼續(xù)工作 / 324

9.11strace:跟蹤進(jìn)程的系統(tǒng)調(diào)用 / 325

9.12ltrace:跟蹤進(jìn)程調(diào)用庫函數(shù) / 332

9.13runlevel:輸出當(dāng)前運(yùn)行級(jí)別 / 334

9.14init:初始化Linux進(jìn)程 / 335

9.15service:管理系統(tǒng)服務(wù) / 335

第10章 Linux網(wǎng)絡(luò)管理命令 / 338

10.1ifconfig:配置或顯示網(wǎng)絡(luò)接口信息 / 338

10.2ifup:激活網(wǎng)絡(luò)接口 / 343

ifup eth0

10.3ifdown:禁用網(wǎng)絡(luò)接口 / 343

ifdown eth0

service network restart(/etc/init.d/network restart) 激活整個(gè)網(wǎng)絡(luò),所有網(wǎng)卡。

10.4route:顯示或管理路由表 / 344

10.5arp:管理系統(tǒng)的arp緩存 / 350

10.6ip:網(wǎng)絡(luò)配置工具 / 351

10.7netstat:查看網(wǎng)絡(luò)狀態(tài) / 358

10.8ss:查看網(wǎng)絡(luò)狀態(tài) / 362

10.9ping:測試主機(jī)之間網(wǎng)絡(luò)的連通性 / 363

10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366

10.11arping:發(fā)送arp請求 / 367

10.12telnet:遠(yuǎn)程登錄主機(jī) / 369

10.13nc:多功能網(wǎng)絡(luò)工具 / 370

10.14ssh:安全地遠(yuǎn)程登錄主機(jī) / 373

10.15wget:命令行下載工具 / 376

10.16mailq:顯示郵件傳輸隊(duì)列 / 379

10.17mail:發(fā)送和接收郵件 / 381

10.18nslookup:域名查詢工具 / 386

10.19dig:域名查詢工具 / 389

10.20host:域名查詢工具 / 393

10.21nmap:網(wǎng)絡(luò)探測工具和安全/端口掃描器 / 394

10.22tcpdump:監(jiān)聽網(wǎng)絡(luò)流量 / 398

第11章 Linux系統(tǒng)管理命令 / 407

11.1lsof:查看進(jìn)程打開的文件 / 407

11.2uptime:顯示系統(tǒng)的運(yùn)行時(shí)間及負(fù)載 / 411

11.3free:查看系統(tǒng)內(nèi)存信息 / 411

11.4iftop:動(dòng)態(tài)顯示網(wǎng)絡(luò)接口流量信息 / 413

11.5vmstat:虛擬內(nèi)存統(tǒng)計(jì) / 415

11.6mpstat:CPU信息統(tǒng)計(jì) / 419

11.7iostat:I/O信息統(tǒng)計(jì) / 420

11.8iotop:動(dòng)態(tài)顯示磁盤I/O統(tǒng)計(jì)信息 / 423

11.9sar:收集系統(tǒng)信息 / 425

11.10chkconfig:管理開機(jī)服務(wù) / 430

11.11ntsysv:管理開機(jī)服務(wù) / 433

11.12 setup:系統(tǒng)管理工具 / 434

11.13ethtool:查詢網(wǎng)卡參數(shù) / 436

11.14mii-tool:管理網(wǎng)絡(luò)接口的狀態(tài) / 437

11.19rpm:RPM包管理器 / 443

11.20yum:自動(dòng)化RPM包管理工具 / 446

top命令

第12章 Linux系統(tǒng)常用內(nèi)置命令 / 450

12.1Linux內(nèi)置命令概述 / 450

12.2Linux內(nèi)置命令簡介 / 450

12.3Linux常用內(nèi)置命令實(shí)例 / 452

Linux運(yùn)維人員必會(huì)的120個(gè)命令

跟老男孩學(xué)Linux運(yùn)維:核心系統(tǒng)命令實(shí)戰(zhàn)

常見的預(yù)處理命令有哪兩種?

很多小伙伴在自己寫代碼的時(shí)候,已經(jīng)多次使用過include命令。使用庫函數(shù)之前,應(yīng)該用include引入對(duì)應(yīng)的頭文件。其實(shí)這種以#號(hào)開頭的命令稱為預(yù)處理命令。

C語言源文件要經(jīng)過編譯、鏈接才能生成可執(zhí)行程序:

1) 編譯(Compile)會(huì)將源文件(.c文件)轉(zhuǎn)換為目標(biāo)文件。對(duì)于 VC/VS,目標(biāo)文件后綴為.obj;對(duì)于GCC,目標(biāo)文件后綴為.o。

編譯是針對(duì)單個(gè)源文件的,一次編譯操作只能編譯一個(gè)源文件,如果程序中有多個(gè)源文件,就需要多次編譯操作。

2) 鏈接(Link)是針對(duì)多個(gè)文件的,它會(huì)將編譯生成的多個(gè)目標(biāo)文件以及系統(tǒng)中的庫、組件等合并成一個(gè)可執(zhí)行程序。

關(guān)于編譯和鏈接的過程、目標(biāo)文件和可執(zhí)行文件的結(jié)構(gòu)、.h 文件和 .c 文件的區(qū)別,我們將在后期專題中講解。

在實(shí)際開發(fā)中,有時(shí)候在編譯之前還需要對(duì)源文件進(jìn)行簡單的處理。例如,我們希望自己的程序在 Windows 和 Linux 下都能夠運(yùn)行,那么就要在 Windows 下使用 VS 編譯一遍,然后在 Linux 下使用 GCC 編譯一遍。但是現(xiàn)在有個(gè)問題,程序中要實(shí)現(xiàn)的某個(gè)功能在 VS 和 GCC 下使用的函數(shù)不同(假設(shè) VS 下使用 a(),GCC 下使用 b()),VS 下的函數(shù)在 GCC 下不能編譯通過,GCC 下的函數(shù)在 VS 下也不能編譯通過,怎么辦呢?

這就需要在編譯之前先對(duì)源文件進(jìn)行處理:如果檢測到是 VS,就保留 a() 刪除 b();如果檢測到是 GCC,就保留 b() 刪除 a()。

這些在編譯之前對(duì)源文件進(jìn)行簡單加工的過程,就稱為預(yù)處理(即預(yù)先處理、提前處理)。

預(yù)處理主要是處理以開頭的命令,例如include stdio.h等。預(yù)處理命令要放在所有函數(shù)之外,而且一般都放在源文件的前面。

預(yù)處理是C語言的一個(gè)重要功能,由預(yù)處理程序完成。當(dāng)對(duì)一個(gè)源文件進(jìn)行編譯時(shí),系統(tǒng)將自動(dòng)調(diào)用預(yù)處理程序?qū)υ闯绦蛑械念A(yù)處理部分作處理,處理完畢自動(dòng)進(jìn)入對(duì)源程序的編譯。

編譯器會(huì)將預(yù)處理的結(jié)果保存到和源文件同名的.i文件中,例如 main.c 的預(yù)處理結(jié)果在 main.i 中。和.c一樣,.i也是文本文件,可以用編輯器打開直接查看內(nèi)容。

C語言提供了多種預(yù)處理功能,如宏定義、文件包含、條件編譯等,合理地使用它們會(huì)使編寫的程序便于閱讀、修改、移植和調(diào)試,也有利于模塊化程

linux 系統(tǒng)下as命令是什么意思 怎么用

as命令是gcc套件中的匯編器,它采用的是AT/T的匯編語法,和windows下的MASM不太一樣

linux中怎么生成預(yù)處理.i文件

Linux中通過gcc的-E參數(shù)可以生成預(yù)處理文件。

實(shí)例:生成t.c源碼文件的預(yù)處理文件t.i

執(zhí)行命令:gcc -E -o t.i t.c

下圖以hello world程序?yàn)槔?/p>

linux中的命令有哪些?

linux命令有內(nèi)部命令和外部命令之分。內(nèi)部命令實(shí)際上是shell程序的一部分,其中包含的是一些比較簡練的linux系統(tǒng)命令,這些命令由shell程序識(shí)別并在shell程序內(nèi)部完成運(yùn)行,通常在linux系統(tǒng)加載運(yùn)行時(shí)shell就被加載并駐留在系統(tǒng)內(nèi)存中。外部命令是linux系統(tǒng)中的實(shí)用程序部分,因?yàn)閷?shí)用程序的功能通常都比較強(qiáng)大,所以它們包含的程序量也會(huì)很大,在系統(tǒng)加載時(shí)并不隨系統(tǒng)一起被加載到內(nèi)存中,而是在需要時(shí)才將其調(diào)進(jìn)內(nèi)存。通常外部命令的實(shí)體并不包含在shell中,但是其命令執(zhí)行過程是由shell 程序控制的。shell程序管理外部命令執(zhí)行的路徑查找、加載存放,并控制命令的執(zhí)行。

網(wǎng)站標(biāo)題:linux中的預(yù)處理命令,什么是預(yù)處理命令
本文路徑:http://muchs.cn/article10/hciedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、虛擬主機(jī)、定制網(wǎng)站自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管