版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
簡(jiǎn)答題及應(yīng)用題:什么是嵌入式系統(tǒng)?主要有什么特點(diǎn)?答:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ)的,并且軟件硬件是可剪裁的,能滿足應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等指標(biāo)的嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。他可以實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或者管理等功能。及通用的計(jì)算機(jī)系統(tǒng)相比,特點(diǎn)為:面向特定應(yīng)用,一般都有實(shí)時(shí)要求;集先進(jìn)性的計(jì)算機(jī)技術(shù)、半導(dǎo)體工藝、電子技術(shù)與通信網(wǎng)絡(luò)技術(shù)于一體的并且在不斷創(chuàng)新的知識(shí)集成系統(tǒng);嵌入式系統(tǒng)是與具體應(yīng)用對(duì)象有機(jī)結(jié)合在一起,因而其升級(jí)換代也是與具體的產(chǎn)品同步進(jìn)行的。嵌入式系統(tǒng)的軟硬件設(shè)計(jì)著重于高效率性。在最大限度滿足應(yīng)用需求的前提下,降低成本是必須要考慮的主要問題。嵌入式系統(tǒng)軟件一般都固化在存儲(chǔ)器芯片中。嵌入式系統(tǒng)有哪幾個(gè)部分?答:嵌入式系統(tǒng)通常由嵌入式處理機(jī)、嵌入式外圍設(shè)備、嵌入式操作系統(tǒng)與嵌入式應(yīng)用軟件等幾大部分組成。3、嵌入式操作系統(tǒng)的作用是什么?*實(shí)際是一組軟件模塊集合滿足多任務(wù)處理、穩(wěn)定運(yùn)行、安全可靠、占用系統(tǒng)資源少、特有的實(shí)時(shí)事件處理、便于維護(hù)與管理、簡(jiǎn)潔良好的用戶界面什么是Linux?什么是嵌入式Linux?答:嚴(yán)格來講,Linux是指由Linux本人維護(hù)并不斷更新的內(nèi)核。 一個(gè)嵌入式Linux系統(tǒng)指的是一個(gè)基于Linux內(nèi)核的,但不包含有關(guān)這個(gè)內(nèi)核的任何專業(yè)的庫或是用戶工具的嵌入式系統(tǒng)。用Linux內(nèi)核構(gòu)建嵌入式操作系統(tǒng)有什么優(yōu)勢(shì)(優(yōu)良特性)?答:(1)程度代碼是可以獲取的,可靠度高;有完整的源碼,軟件豐富并且免費(fèi);得到眾多硬件生產(chǎn)家的廣泛支持;包括cpu、計(jì)算機(jī)外圍設(shè)備完善的通信協(xié)議、軟件標(biāo)準(zhǔn)與文件管理機(jī)制;提供完全免費(fèi)且優(yōu)秀的開發(fā)工具;廣泛的社群支持無需購(gòu)買licence,是免費(fèi)的;不依賴特定廠商、供應(yīng)商;成本相對(duì)低廉。RTOS(嵌入式操作系統(tǒng))強(qiáng)調(diào)的實(shí)時(shí)是什么概念?及中斷的關(guān)系?答:實(shí)時(shí)指的是特定操作所消耗的時(shí)間(以及空間)的上限是可預(yù)知的。操作系統(tǒng)能夠在規(guī)定響應(yīng)時(shí)間內(nèi)完成客戶服務(wù)程序。中斷程序響應(yīng)中斷并完成是在固定時(shí)間內(nèi)。什么是實(shí)時(shí)Linux?涉及到哪些軟硬件內(nèi)容?答:實(shí)時(shí)Linux(RT-Linux)通過在Linux內(nèi)核及硬件中斷之間增加一個(gè)精巧的可搶先的實(shí)時(shí)內(nèi)核,把標(biāo)準(zhǔn)的Linux內(nèi)核作為實(shí)時(shí)內(nèi)核的一個(gè)進(jìn)程及用戶進(jìn)程一起調(diào)度,標(biāo)準(zhǔn)的Linux內(nèi)核的優(yōu)先級(jí)最低,可以被實(shí)時(shí)進(jìn)程搶斷。正常的Linux進(jìn)程仍可以在Linux內(nèi)核上運(yùn)行,這樣既可以使用標(biāo)準(zhǔn)分時(shí)操作系統(tǒng)即Linux的各種服務(wù),又能提供低延時(shí)的實(shí)時(shí)環(huán)境。它在硬件上涉及到硬件中斷,軟件上涉及到對(duì)高優(yōu)先級(jí)的實(shí)時(shí)硬件中斷的快速響應(yīng)。能在規(guī)定的時(shí)間內(nèi)完成對(duì)突發(fā)事件的處理的Linux系統(tǒng);軟件:中斷服務(wù)程序、進(jìn)程調(diào)度程序,硬件:嵌入式系統(tǒng)所采用的中斷管理硬件。試簡(jiǎn)要說明Linux內(nèi)核構(gòu)成,并簡(jiǎn)要說明各部分的功能?答:MMU:內(nèi)存管理單元,完成地址映射(應(yīng)用虛擬地址方式)VFS:虛擬文件管理系統(tǒng),提供了統(tǒng)一管理計(jì)算機(jī)資源的途徑。使統(tǒng)一規(guī)范計(jì)算機(jī)資源的使用格式成為可能,方便傳輸SCHED:進(jìn)程調(diào)用單元。支持多任務(wù)運(yùn)行。利用軟件中斷的特點(diǎn),將CPU的時(shí)間線劃分給各個(gè)任務(wù),完成多任務(wù)管理IPC:進(jìn)程間通信單元。實(shí)現(xiàn)多個(gè)不同程序在運(yùn)行時(shí)可以進(jìn)行數(shù)據(jù)交換、通信。NET:網(wǎng)絡(luò)。網(wǎng)絡(luò)不做為通用設(shè)備,以特定工作單元存在。負(fù)責(zé)計(jì)算機(jī)系統(tǒng)及其他計(jì)算機(jī)相互通信的接口。通常可采用哪幾種方式來開發(fā)嵌入式Linux系統(tǒng)?給出示意圖。答:方式有:(1)連接型(宿主機(jī)/目標(biāo)板鏈接開發(fā))(2)可移動(dòng)連接型(利用可移動(dòng)的存儲(chǔ)器作為宿主機(jī)/目標(biāo)板之間的中介)(3)標(biāo)準(zhǔn)化(在開發(fā)板上進(jìn)行獨(dú)立開發(fā))SHAPE主機(jī)跨平臺(tái)開發(fā)環(huán)境目標(biāo)板引導(dǎo)加載程序主機(jī)跨平臺(tái)開發(fā)環(huán)境目標(biāo)板引導(dǎo)加載程序內(nèi)核根文件系統(tǒng)主機(jī)跨平臺(tái)開發(fā)環(huán)境(1)目標(biāo)板引導(dǎo)加載程序第二引導(dǎo)加載程序內(nèi)核根文件系統(tǒng)(2)目標(biāo)板引導(dǎo)加載程序內(nèi)核完整的根文件系統(tǒng)固有的開發(fā)環(huán)境(3)為什么要建立交叉開發(fā)平臺(tái)?在何種情形下可以不必建立?答:嵌入式系統(tǒng)的構(gòu)造決定。嵌入式處理器多為專用的cpu,1、必須將用C編寫的程序編譯成能在該專用平臺(tái)上運(yùn)行的機(jī)器碼。2、C語言庫是必需的,必需提供能在專用cpu上運(yùn)行的庫的二進(jìn)制代碼。以上兩點(diǎn)要求有這么一種編譯工具能夠?qū)崿F(xiàn)兩種CPU之間的交叉。當(dāng)執(zhí)行應(yīng)用程序的平臺(tái)與用來建立應(yīng)用程序的平臺(tái)相同時(shí)就可以不建立交叉開發(fā)平臺(tái)。試簡(jiǎn)要敘述GNU及其所提供的開發(fā)工具鏈。答:GNU是“GNU'sNotUnix”的遞歸縮寫,它是一個(gè)自由軟件工程項(xiàng)目組織。提供各種開源代碼。提供一整套的開發(fā)工具鏈包括:GNU工具鏈基礎(chǔ),內(nèi)核頭文件安裝程序,Binutils(二進(jìn)制工具)的安裝程序,引導(dǎo)編譯器安裝程序,C庫安裝程序,全編譯器安裝程序,完成工具鏈的設(shè)置。試解釋make與makefile的關(guān)系?簡(jiǎn)單舉例說明。答:使用make就必須寫makefile文件,它描述工程中文件之間的關(guān)系,提供更新每個(gè)文件的命令。Makefile就是一組規(guī)則,它指導(dǎo)make程序的運(yùn)行,告訴make需要做什么,多數(shù)情況是怎樣編譯與鏈接一個(gè)程序。目標(biāo)與目標(biāo)運(yùn)行規(guī)則一旦建立,make就會(huì)按此進(jìn)行工作。 (此段為Makefile)makeclean (此為make執(zhí)行上述Makefile規(guī)則)GCC是什么?為什么說它是必不可少的?答:GCC是由GNU組織開發(fā)的一個(gè)免費(fèi)的C/C++編譯工具,由它將高級(jí)語言轉(zhuǎn)換為機(jī)器語言。因?yàn)镚CC是一個(gè)交叉平臺(tái)的編譯器,幾乎所有主流CPU處理平臺(tái)上目標(biāo)代碼的變換,它有力的支持了Linux系統(tǒng)的發(fā)展。沒有就無法獲得可執(zhí)行程序。C庫是什么概念?在嵌入式Linux系統(tǒng)中對(duì)此有何要求?答:提供C語言里包含常用函數(shù)的源代碼。在嵌入式Linux系統(tǒng)中是必不可少的。否則無法獲得可執(zhí)行程序的完整代碼。因?yàn)椴僮飨到y(tǒng)是用C語言編寫的。在設(shè)計(jì)嵌入式Linux系統(tǒng)時(shí)為什么要配置內(nèi)核?可用哪幾種命令來配置?答:針對(duì)嵌入式系統(tǒng),內(nèi)核需要知道運(yùn)行在怎么樣的平臺(tái)上,它要管理的硬件單元,這就需要我們重新組裝內(nèi)核來達(dá)成上述目標(biāo)。因?yàn)橥暾腖inux的內(nèi)核比較龐大,不適合嵌入式系統(tǒng)這樣的對(duì)速度、容量要求苛刻的系統(tǒng)上面運(yùn)行,因此我們需要去掉那些及目標(biāo)系統(tǒng)無關(guān)的、只編譯系統(tǒng)需要的功能的代碼。 我們通常使用內(nèi)核配置命令makeconfig(字符界面);makeoldconfig;makemenuconfig(文本圖形界面);makexconfig(x-window圖形界面)來配置內(nèi)核。通常使用后兩個(gè)命令,在圖形界面下比較直觀。顯然,在makefile中詳細(xì)定義了界面是如何生成的,以及配置與編譯內(nèi)核的規(guī)則。此外還有makeoldconfig命令。重新編譯內(nèi)核應(yīng)考慮哪幾個(gè)方面的因素?模塊是什么概念?答:建立依存關(guān)系,建立內(nèi)核,建立模塊。模塊的概念:可動(dòng)態(tài)、靜態(tài)加載的二進(jìn)制代碼。什么是根文件系統(tǒng)?Linux內(nèi)核啟動(dòng)及根文件系統(tǒng)的關(guān)系?答:根文件系統(tǒng)是Linux系統(tǒng)的安裝點(diǎn),應(yīng)該包括支持Linux系統(tǒng)正常運(yùn)行的基本內(nèi)容,包含著系統(tǒng)使用的軟件與庫,以及所有用來為用戶提供支持構(gòu)架與用戶使用的應(yīng)用軟件。Linux內(nèi)核在運(yùn)行期必須要用到的存儲(chǔ)代碼體系,及內(nèi)核同時(shí)存在,只在內(nèi)核運(yùn)行時(shí)才存在于內(nèi)存中。根文件系統(tǒng)必須要能夠提供Linux內(nèi)核啟動(dòng)過程中要加載的模塊在構(gòu)建嵌入式Linux系統(tǒng)時(shí),對(duì)根文件系統(tǒng)的目錄項(xiàng)有什么要求?答:構(gòu)建嵌入式操作系統(tǒng)時(shí)應(yīng)包括的目錄項(xiàng)有:/bin;/boot;/dev;/ect;/home;/lib;/mnt;/opt;/proc;/root;/sbin;/tmp;/usr;/var 其中/bin;/dev;/ect;/lib;/proc;/sbin;/tmp;/usr;/var這9項(xiàng)必須包含,另外5項(xiàng)可有可無。Linux內(nèi)核在目標(biāo)板上啟動(dòng)過程(簡(jiǎn)要敘述)?需要考慮哪些因素?答:1、通過合適的bootloader找到內(nèi)核源代碼,加載到內(nèi)存2、內(nèi)核源代碼開始進(jìn)行初始化3、內(nèi)核源代碼初始化完畢,開始調(diào)用與用戶有關(guān)的進(jìn)程。用戶進(jìn)程初始化選用與目標(biāo)板相配的啟動(dòng)裝載程序如何理解文件系統(tǒng)?常用的文件系統(tǒng)有哪幾種?答:文件系統(tǒng)是對(duì)一個(gè)存儲(chǔ)設(shè)備上的數(shù)據(jù)與元數(shù)據(jù)進(jìn)行組織的機(jī)制另一種看待文件系統(tǒng)的方式是把它看作一個(gè)協(xié)議。網(wǎng)絡(luò)協(xié)議(比如IP)規(guī)定了互聯(lián)網(wǎng)上傳輸?shù)臄?shù)據(jù)流的意義,同樣,文件系統(tǒng)會(huì)給出特定存儲(chǔ)媒體上數(shù)據(jù)的意義。常用的文件系統(tǒng):CRAMFS;JFFS2;Ext2overNFTL;Ext3overNFTL;Ext2overRAMdisk;EXT4。什么是VFS?它在Linux內(nèi)核中的主要作用是什么?答:VFS(虛擬文件系統(tǒng))是物理文件系統(tǒng)及服務(wù)之間的接口層。它對(duì)Linux的每個(gè)文件系統(tǒng)的所有細(xì)節(jié)進(jìn)行抽象,使得不同的文件系統(tǒng)在Linux核心以及系統(tǒng)中運(yùn)行的其它進(jìn)程看來,都是相同的。作用為:記錄可用的文件系統(tǒng)類型,將設(shè)備同對(duì)應(yīng)的文件系統(tǒng)聯(lián)系起來,處理一些面向文件的通用操作,涉及到針對(duì)文件系統(tǒng)的操作時(shí),VFS把它們影射到及控制文件、目錄以及inode。22、內(nèi)核模塊的編程與普通程序的編程有哪些區(qū)別?(6分)參考答案:主要區(qū)別為:(1)因?yàn)閮?nèi)核模塊運(yùn)行在內(nèi)核態(tài),所以包含的頭文件是內(nèi)核程序相關(guān)的頭文件,而普通程序則包含的是glibc的頭文件(1分)(2)模塊程序沒有main函數(shù),而是通過init_module函數(shù)在加載后初始化。(2分)(3)模塊程序內(nèi)可直接調(diào)用內(nèi)核函數(shù),而普通程序則只能通過系統(tǒng)調(diào)用使用內(nèi)核函數(shù)。(2分)(4)普通用戶程序可運(yùn)行多次,而內(nèi)核函數(shù)通常則只能加載1次(1分)。23、什么是交叉編譯?為什么要采用交叉編譯(5分)參考答案:所謂交叉編譯,是指在一個(gè)平臺(tái)上編譯生成在另一個(gè)平臺(tái)上運(yùn)行的可執(zhí)行程序。(3分)。之所以采用交叉編譯,是因?yàn)槟繕?biāo)平臺(tái)上不具備直接運(yùn)行開發(fā)環(huán)境的條件。(2分)24、簡(jiǎn)述嵌入式Linux系統(tǒng)的初始化過程(5分)參考答案:嵌入式Linux系統(tǒng)開機(jī)首先運(yùn)行BootLoader,然后由BootLoader引導(dǎo)啟動(dòng)內(nèi)核,由內(nèi)核檢查與初始化硬件設(shè)備,載入設(shè)備的驅(qū)動(dòng)程序模塊,安裝root文件系統(tǒng),然后內(nèi)核將啟動(dòng)一個(gè)名為init的進(jìn)程(2分)。在init運(yùn)行完成并啟動(dòng)其它必要的后續(xù)進(jìn)程后,系統(tǒng)開始運(yùn)行,引導(dǎo)過程結(jié)束。init進(jìn)程啟動(dòng)時(shí)需要讀取inittab配置文件,該文件確定init在系統(tǒng)啟動(dòng)與關(guān)機(jī)時(shí)的工作特性。(3分)應(yīng)用題1、管道是Linux中進(jìn)程通信的一種方式,以下程序在父進(jìn)程與子進(jìn)程之間創(chuàng)建了一個(gè)管道,然后建立它們之間的通信,實(shí)現(xiàn)父進(jìn)程向子進(jìn)程寫數(shù)據(jù)的功能。說明標(biāo)號(hào)所在行代碼的功能。#include<unistd.h>#include<sys/types.h>#include<errno.h>#include<stdio.h>#include<stdlib.h>intmain(){ intpipe_fd[2]; pid_tpid; charbuf_r[100]; char*p_wbuf; intr_num; memset(buf_r,0,sizeof(buf_r));(1) if(pipe(pipe_fd)<0)(2) { printf("pipecreateerror\n"); return-1; } if((pid=fork())==0)(3) { printf("\n"); close(pipe_fd[1]);(4) sleep(2); if((r_num=read(pipe_fd[0],buf_r,100))>0)(5){ printf("%dnumbersreadfromthepipeis%s\n",r_num,buf_r); } close(pipe_fd[0]);(6) exit(0); } elseif(pid>0)(7) { close(pipe_fd[0]);(8) if(write(pipe_fd[1],"Hello",5)!=-1)(9) printf("parentwrite1success!\n"); if(write(pipe_fd[1],"Pipe",5)!=-1) printf("parentwrite2success!\n"); close(pipe_fd[1]);(10) sleep(3); waitpid(pid,NULL,0); exit(0); }}答案要點(diǎn):(1)將數(shù)據(jù)緩沖區(qū)清0(2)創(chuàng)建管道(3)創(chuàng)建子進(jìn)程(4)關(guān)閉子進(jìn)程寫描述符(5)子進(jìn)程讀取管道內(nèi)容(6)關(guān)閉子進(jìn)程讀描述符(7)父進(jìn)程運(yùn)行控制語句(8)關(guān)閉父進(jìn)程的讀描述符(9)將數(shù)據(jù)寫入緩沖區(qū)(10)關(guān)閉父進(jìn)程寫描述符2、由于BootLoader的實(shí)現(xiàn)依賴于CPU的體系結(jié)構(gòu),因此大多數(shù)BootLoader都分為stage1與stage2兩大部分。依賴于CPU體系結(jié)構(gòu)的代碼,比如設(shè)備初始化代碼等,通常都放在stage1中,而且通常都用匯編語言來實(shí)現(xiàn),以達(dá)到短小精悍的目的。而stage2則通常用C語言來實(shí)現(xiàn),這樣可以實(shí)現(xiàn)給復(fù)雜的功能,而且代碼會(huì)具有更好的可讀性與可移植性。請(qǐng)根據(jù)你對(duì)嵌入式系統(tǒng)中bootloader的理解,簡(jiǎn)要設(shè)計(jì)一下stage1與stage2需要完成的功能。參考答案:BootLoader的stage1通常包括以下步驟(以執(zhí)行的先后順序):(3分)基本硬件設(shè)備初始化。為加載BootLoader的stage2準(zhǔn)備RAM空間。拷貝BootLoader的stage2到RAM空間中。設(shè)置好堆棧。跳轉(zhuǎn)到stage2的C入口點(diǎn)。BootLoader的stage2通常包括以下步驟(以執(zhí)行的先后順序):(3分)初始化本階段要使用到的硬件設(shè)備。檢測(cè)系統(tǒng)內(nèi)存映射(memorymap)。將kernel映像與根文件系統(tǒng)映像從flash上讀到RAM空間中。為內(nèi)核設(shè)置啟動(dòng)參數(shù)。調(diào)用內(nèi)核。3、Qt/Embedded對(duì)嵌入式GUI提供了強(qiáng)大的支持,信號(hào)與插槽機(jī)制是QT的核心機(jī)制,使用QT實(shí)現(xiàn)如下界面的登陸程序,其原代碼如下所示,請(qǐng)回答如下問題.1)什么是Qt中的信號(hào)插槽機(jī)制?(3分)2)應(yīng)用程序中用到了哪些控件,列舉2個(gè)并說明該控件的特點(diǎn)?(4分)3)根據(jù)注釋完成程序中相應(yīng)的語句?(4分)#include<QtGui/QtGui>#include"window.h"CWinDlg::CWinDlg(QWidget*parent):QDialog(parent){ setWindowTitle("Example");/*設(shè)置窗口的標(biāo)題*/ Edit1=newQLineEdit;/*創(chuàng)建一個(gè)Edit1與一個(gè)Buttion1*/ Button1=newQPushButton("OK"); Edit1->setEchoMode(QLineEdit::Password); QVBoxLayout*Layout1=newQVBoxLayout;/*創(chuàng)建一個(gè)布局對(duì)像Layout1*/ Layout1->addWidget(Edit1);/*把Edit1加入到Layout1*/ Layout1->addWidget(Button1);/*把Button1加入到Layout1*/ (1)setLayout(Layout1);/*應(yīng)用Layout1布局*/ (2)connect(Button1,SIGNAL(clicked()),this,SLOT(function()));/*建立Signal-Slot,使button1及function()相關(guān)聯(lián)*/}CWinDlg::~CWinDlg(){ deleteEdit1;/*刪除Edit1及Button1對(duì)象*/ deleteButton1;}voidCWinDlg::function(){ if(Edit1->text()=="example")/*如果Edit1輸入"example"*/ { /*顯示"Pass!"消息框*/ QMessageBox::warning(this,"warning","Pass!",QMessageBox::Yes); } else { /*顯示"Error!"消息框*/ QMessageBox::warning(this,"warning","Error!",QMessageBox::Yes); }}#include<QtGui/QtGui>#include"window.h"intmain(intargc,char*argv[]){ QApplicationapp(argc,argv);/*創(chuàng)建QT應(yīng)用程序*/ CWinDlgdlg;/*創(chuàng)建窗口*/ returndlg.exec(); /*運(yùn)行程序*/}答案要點(diǎn):1)什么是Qt中的信號(hào)插槽機(jī)制?及回調(diào)函數(shù)機(jī)制有何不同?(3分)答案要點(diǎn):回調(diào)函數(shù)機(jī)制是事先將一個(gè)回調(diào)函數(shù)指針傳遞給一個(gè)處理過程,當(dāng)這個(gè)處理過程得到執(zhí)行時(shí),回調(diào)預(yù)先定義好的回調(diào)函數(shù)以期實(shí)現(xiàn)激活其他處理程序的目的。不同及回調(diào)函數(shù)機(jī)制,Qt提供了信號(hào)與插槽機(jī)制,信號(hào)是一個(gè)特定的標(biāo)識(shí);一個(gè)槽就是一個(gè)函數(shù),及一般函數(shù)不同,槽函數(shù)既能與信號(hào)關(guān)聯(lián),當(dāng)某個(gè)事件出現(xiàn)時(shí),通過發(fā)送信號(hào),可以將及之相關(guān)聯(lián)的槽函數(shù)激活,執(zhí)行相應(yīng)代碼。2)應(yīng)用程序中用到了哪些控件,列舉2個(gè)并說明該控件的特點(diǎn)?(4分)答案要點(diǎn):應(yīng)用程序中用到的控件有(1)文本框控件Edit,文本框控件主要用來顯示或接收用戶的輸入信息。(2)按鈕控件Button,按鈕控件主要響應(yīng)用戶單擊功能。3)根據(jù)注釋完成程序中相應(yīng)的語句?(4分)(1)setLayout(Layout1);(2)connect(Button1,SIGNAL(clicked()),this,SLOT(function()));4.在Linux操作系統(tǒng)下,完成下列任務(wù):編程實(shí)現(xiàn)以下功能主程序hello.c(打印HelloWorld!)主程序通過頭文件hello.h調(diào)用message函數(shù)頭文件hello.h(聲明message函數(shù))message函數(shù)由message.c定義(打印Thisisamessage!)1、答:hello.c:#include<stdio.h>#include<stdlib.h>#include<string.h>#include"head.h"intmain(intargc,char*argv[]){
printf("HelloWorld!\n");
message();
return0;}head.h:voidmessage(void);message.c:#include<stdio.h>voidmessage
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 某珠寶公司飾品定價(jià)調(diào)整方案
- 化工公司分支機(jī)構(gòu)考核制度
- 2024年神木職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題含答案解析(必刷)
- 2024年甘肅工業(yè)職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題附答案解析(奪冠)
- 2024年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題含答案解析(必刷)
- 2025年新疆現(xiàn)代職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2025年荔浦縣招教考試備考題庫含答案解析(奪冠)
- 2024年石家莊鐵路職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題附答案解析(奪冠)
- 2025年河南物流職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題及答案解析(奪冠)
- 2025年民樂縣招教考試備考題庫含答案解析(必刷)
- 建筑物拆除施工監(jiān)測(cè)方案
- 電荷轉(zhuǎn)移動(dòng)力學(xué)模擬-洞察及研究
- 模具生產(chǎn)質(zhì)量控制流程手冊(cè)
- 基于表型分型的COPD患者呼吸康復(fù)與營(yíng)養(yǎng)支持策略優(yōu)化
- 刮痧療法培訓(xùn)課件
- 骨科圍手術(shù)期病人營(yíng)養(yǎng)支持
- LNG氣化工程項(xiàng)目可行性研究報(bào)告
- 中東地區(qū)禮儀規(guī)范
- 保健食品購(gòu)銷合同范本
- 廣告牌吊裝安裝施工方案
- 豆制品企業(yè)生產(chǎn)過程節(jié)能降耗方案
評(píng)論
0/150
提交評(píng)論