當前位置:首頁 » 編程軟體 » lc編譯器

lc編譯器

發布時間: 2023-01-26 09:28:37

㈠ cygwin 中如何安裝arm-linux-gcc交叉編譯

交叉編譯工具鏈作為嵌入式Linux開發的基礎,直接影響到嵌入式開發的項目進度和完成質量。由於目前大多數開發人員使用Windows作為嵌入式開發的宿主機,在Windows中通過安裝VMware等虛擬機軟體來進行嵌入式Linux開發,這樣對宿主機的性能要求極高。Cygwin直接作為Windows下的軟體完全能滿足嵌入式Linux的開發工作,對硬體的要求低及方便快捷的特點成為嵌入式開發的最佳選擇。

目前網路上Cygwin下直接可用的交叉編譯器寥寥無幾且版本都比較低,不能滿足開源軟體對編譯器版本依賴性的要求(如低版本工具鏈編譯U-Boot出現軟浮點問題等);Crosstool等交叉工具鏈製作工具也是更新跟不上自由軟體版本的進度;同時系統介紹Cygwin下製作交叉編譯器方面的資料很少。針對上述情況,基於最新版gcc等自由軟體構建Cygwin下的交叉編譯器顯得尤為迫切和重要。
構建前准備工作
首先Cygwin下必須保證基本工具比如make}gcc等來構建bootstrap-gcc編譯器,這可以在安裝Cygwin時選擇安裝。參照gcc等安裝說明文檔來在Cygwin下查看是否已經安裝,如輸入gcc --v等。
源碼下載
gcc-4.5.0的編譯需mpc的支持,而mpc又依賴gmp和mpfr庫。從各個項目官方網站上下載的最新的源碼:
binutils-2.20. l .tar.bz2
gmp-S.O. l .tar.bz2
mpc-0.8.2.tar.gz
mpfr-3.O.O.tar.bz2
gcc-4.S.O.tar.bz2
linux-2.6.34.tar.bz2
glibc-2.11.2.tar.bz2
glibc-ports-2. l l .tar.bz2
gdb-7. l.tar.bz2

設置環境變數
HOST:工具鏈要運行的目標機器;BUILD:用來建立工具鏈的機器;TARGET工具鏈編譯產生的二進制代碼可以運行的機器。
BUILD=i686-pc-cygwin
HOST=i686-pc-cygwin TARGET=arm-linux
SYSROOT指定根目錄,$PREFIX指定安裝目錄。目標系統的頭文件、庫文件、運行時對象都將被限定在其中,這在交叉編譯中有時很重要,可以防止使用宿主機的頭文件和庫文件。本文首選$SYSROOT為安裝目錄,$PREFIX主要作為glibc庫安裝目錄。
SYSROOT=/cross-root
PREFIX=/cross-root/arm-linux
由於GCC-4.5.0需要mpfr,gmp,mpc的支持,而這三個庫又不需要交叉編譯,僅僅是在編譯交叉編譯鏈時使用,所以放在一個臨時的目錄。
TEMP_PREFIX=/build-temp
控制某些程序的本地化的環境變數:
LC ALL=POSIX
設置環境變數:
PATH=$SYSROOT/bin:兒in:/usr/bin
設置編譯時的線程數f31減少編譯時間:
PROCS=2
定義各個軟體版本:
BINUTILS V=2.20.1
GCC V=4.5.0
GMP V=5.0.1
MPFR V=3.0.0
MPC V二0.8.2
LINUX V二2.6.34
GLIBC V=2.11.2
GLIBC-PORTS V=2.11
GDB V=7.1
構建過程詳解
鑒於手工編譯費時費力,統一把構建過程寫到Makefile腳本文件中,把其同源碼包放在同一目錄下,執行make或順次執行每個命令即可進行無人值守的編譯安裝交叉工具
鏈。以下主要以Makefile執行過程為主線進行講解。
執行「make」命令實現全速運行
可在Cygwin的Shell環境下執行「make>make.log 2>&1」命令把編譯過程及出現的錯誤都輸出到make.log中,便於查找:
all:prerequest install-deps install-cross-stage-one install-
cross-stage-two
預處理操作
"make prerequest',命令實現單步執行的第一步,實現輸出變數、建立目錄及解壓源碼包等操作。0'set十h」關閉bash的Hash功能,使要運行程序的時候,shell將總是搜索PATH里的目錄[4]。這樣新工具一旦編譯好,shell就可以在$(SYSROOT)/bin目錄里找到: prerequest:
set +h&&mkdir -p $(SYSROOT)/bin&&
mkdir -p $(PREFIX)/include&&
mkdir -p $(TEMP一REFIX)&&
export PATH LCes ALL&&
tar -xvf gmp-$(GMP_V).tar.bz2&&
tar -xvf mpfr-$(MPFR_V).tar.bz2&&
tar -xvf mpc-$(MPC_V).tar.gz&&
tar -xvf binutils-$(BINUTILS_V).tar.bz2&&
tar -xvf gcc-$(GCC_V).tar.bz2&&
tar -xvf linux-$(LINUX_V).tar.bz2&&
tar -xvf glibc-$(GLIBC_V).tar.bz2&&
tar -xvf glibc-ports-$(GLIBC-PORTS_V).tar.bz2&&
my glibc-ports-$(GLIBC-PORTS_V)
glibc-$(GLIBC_V)/ports&&
tar -xvf gdb-$(GDB V).tar.bz2
非交叉編譯安裝gcc支持包mpc
00make install-deps」命令實現單步執行的第二步,實現mpc本地編譯,mpc依賴於gmp和mpfr
install-deps:gmp mpfr mpc
gmp:gmp-$(GMP_V)
mkdir -p build/gmp&&cd build/gmp&&
../../gmp-*/configure
--disable-shared --prefix=$(TEMP_PREFIX)&&
$(MAKE)一$(PROCS)&&$(MAKE) install
mpfr:mpfr-$(MPFR_V)
mkdir -p b-uild/mpfr&&cd build/mpfr&&
../..//mpfr-*/configure
LDF'LAGS="-Wl,-search_paths_first」--disable-shared
--with-gmp=$(TEMP_PREFIX)
--prefix=$(TEMP_PREFIX)&&
$(MAKE)一$(PROCS) all&&$(MAKE) install
mpc: mpc-$(MPC_V) gmp mpfr
mkdir -p build/mpc&&cd build/mpc&&
../../mpc-*/configure
--with-mpfr=$(TEMP PREFIX)
--with-gmp=$(TEMP_PREFIX)
--prefix=$(TEMP_PREFIX)&&
$(MAKE)一$(PROCS)&&$(MAKE) install
交叉編譯第一階段
"make install-cross-stage-one',命令實現單步執行的第三步,編譯安裝binutils,bootstrap-gcc和獲取Linux內核頭文件:
install-cross-stage-one:cross-binutils cross-gcc get-kernel-headers
編譯安裝binutils
cross-binutils: binutils-$(BINUTILS_ V)
mkdir -p build/binutils&&cd build/binutils&&
../..//binutils-*/configure --prefix=$(SYSROOT)
--target=$(TARGET)--disable-nls&&
$(MAKE)j$(PROCS)&&$(MAKE) install
編譯安裝bootstrap-gcc。使用一disable-shared參數的意思是不編譯和安裝libgcc_ eh.a文件。glibc軟體包依賴這個庫,因為它使用其內部的一lgcc_eh來創建系統[6]。這種依賴
性,可通過建立一個指向libgcc.a符號鏈接得到滿足,因為該文件最終將含有通常在libgcc- eh.a中的對象(也可通過補丁文件實現)。
cross-gcc:gcc-$(GCC_V)
mkdir -p build/gcc&&cd build/gcc&&
二//gcc-*/configure
--target=$(TARGET)--prefix=$(SYSROOT)
--disable-nls --disable-shared --disable-multilib
--disable-decimal-float--disable-threads
--disable-libmudflap --disable-libssp
--disable-libgomp --enable-languages=c
--with-gmp=$(TEMP_PREFIX)
--with-mpfr=$(TEMP_PREFIX)
--with-mpc=$(TEMP_PREFIX)&&
$(MAKE) -j$(PROCS)&&$(MAICE) install&&
In -vs libgcc.a'arm-linux-gcc -print-libgcc-file-name I
sed's/libgcc/& eh/'}
獲取Linux內核頭文件:
get-kernel-headersainux-$(LINUX_V)
cd linux-$(LINUX_V)&&
$(MAICE) mrproper&&$(MAKE) headers check&&
$(MAKE) ARCH=arm&&
INSTALLes HDR_ PATH=dest headers_ install&&
find dest/include
(-name .install一。-name ..installNaNd)-delete&&
cp -rv desdinclude/* $(PREFIX)/include
交叉編譯第二階段
編譯安裝glibc、重新編譯安裝binutils、完整編譯安裝gcc和編譯安裝gdb o "make install-cross-stage-two',命令實現單步執行的第四步: install-cross-stage-two:cross-glibc cross-rebinutils cross-g++ cross-gdb
編譯安裝glibca glib。的安裝路徑特意選為$(PREFIX),與gcc更好找到動態鏈接庫也有關系,選在$(SYSROOT)提示找不到crti.o; glibc已經不再支持i386; glibc對ARM等的處理器的支持主要通過glibc-ports包來實現;正確認識大小寫敏感(Case Sensitive)和大小寫不敏感(CaseInsensitive)系統,大小寫敏感問題主要影響到glibc,是交叉編譯glibc成功的關鍵:Cygwin幫助手冊中可知Cygwin是默認大小寫不敏感的n},但是UNIX系統是大小寫敏感的,這也是Cygwin和UNIX類系統的一個區別。通過作者自行參考製作的glibc-2.11.2-cygwin.patch補T使glibc變為Case-Insensitive,此補丁主要是對大小寫敏感問題改名來實現。
交叉編譯過程中安裝的鏈接器,在安裝完Glibc以前都無法使用。也就是說這個配置的forced unwind支持測試會失敗,因為它依賴運行中的鏈接器。設置libc_ cvforced unwind=yes這個選項是為了通知configure支持force-unwind,而不需要進行測試。libc cv_c_cleanup=yes類似的,在configure腳本中使用libc_cv_c cleanup=yes,以便配置成跳過測試而支持c語言清理處理。
cross-glibc:glibc-$(GLIBC_V)
cd glibc-$(GLIBC_V)&&
patch -Np 1 –i...//glibc-2.11.2-cygwin.patch&&
cd..&&mkdir -p build/glibc&&
cd build/glibc&&
echo"libc cv_forcedes unwind=yes">config.cache&&
echo "libc cv_c_cleanup=yes">>config.cache&&
echo "libc cv_arm_tls=yes">>config.cache&&
../../glibc-*/configure --host=$(TARGET)
--build=$(../OneScheme/glibc-2.11.2/scripts/config.guess)
--prefix=$(PREFIX)--disable-profile
--enable-add-ons --enable-kernel=2.6.22.5
--with-headers=$(PREFIX)/include
--cache-file=config.cache&&
$(MAKE)&&$(MAKE) install
重新編譯安裝binutils。編譯之前要調整工具鏈,使其
指向新生成的動態連接器。
調整工具鏈:
SPECS=
'dirname $(arm-linux-gcc -print-libgcc-file-name)'/specs
arm-linux-gcc -mpspecs
sed -e '[email protected]/lib(64)\?/[email protected]$(PREFTX)[email protected]' -e ,}/}}*cPP}$/{n;s,$,-isystem $(PREFIX)/include,}"
>$SPECS
echo "New specs file is: $SPECS"
unset SPECS
測試調整後工具鏈:
echo 'main(川』>mmy.c
arm-linux-gcc
-B/cross-root/arm-linux/lib mmy.c
readelf -1 a.out I grep』:/cross-roobarm-linux'
調整正確的輸出結果:
[Requesting program interpreter: /tools/lib/ld-linux.so.2j
一切正確後刪除測試程序:
rm -v mmy.c a.out
重新編譯binutils。指定--host,--build及--target,否則配置不成功,其config.guess識別能力不如gcc做的好。
cross-rebinutils: binutils-$(BINUTILS_V)
mkdir -p build/rebinutils&&
cd build/rebinutils&&CC="$(TARGET)-gcc
-B/cross-roodarm-linux/lib/"&&AR=$(TARGET)-ar&&
RANLIB=$(TARGET)-ranlib&&../..//binutils-*/configure
--host=$(HOST)--build=$(BUILD)--target=$(TARGET)
--prefix=$(SYSROOT)--disable-nls
--with-lib-path=$(PREFIX)/lib&&
$(MAKE)--$(PROCS)&&$(MAKE) install
高於4.3版的gcc把這個編譯當作一個重置的編譯器,並且禁止在被一prefix指定的位置搜索startfiles。因為這次不是重置的編譯器,並且$(SYSROOT)目錄中的startfiles對於創
建一個鏈接到$$(SYSROOT)目錄庫的工作編譯器很重要,所以我們使用下面的補丁,它可以部分還原gcc的老功能tai . patch -Npl –i../gcc-4.5.0-startfiles_fix-l.patch
在正常條件下,運行gcc的fixincludes腳本,是為了修復可能損壞的頭文件。它會把宿主系統中已修復的頭文件安裝到gcc專屬頭文件目錄里,通過執行下面的命令,可以抑
制fixincludes腳本的運行[9](此時目錄為/gcc-4.5.0)。
cp -v gcc/Makefile.in{,.orig}
sed '[email protected]\./fixinc\[email protected] [email protected]'
gcc/Makefile.in.orig > gcc/Makefile.in
下面更改gcc的默認動態鏈接器的位置,使用已安裝在/cross-root/ann-linux目錄下的鏈接器,這樣確保在gcc真實的編譯過程中使用新的動態鏈接器。即在編譯過程中創建的所有
二進制文件,都會鏈接到新的glibc文件
for file in
$(find gcc/config -name linux64.h-o -name linux.h –o -name sysv4.h)
do cp -uv $file{,.orig}
sed -a '[email protected]/lib(64)?(32)?/[email protected]/cross-root/[email protected]』-e'[email protected]/[email protected]/[email protected]' $file.orig>$file echo『
#undef STANDARD INCLUDE DIR
#define STANDARD_ INCLUDE DIR "/cross-root/arm-linux/include"
#define STANDARD STARTFILE PREFIX 1 "/cross-root/arm-linux/lib"
#define STANDARD_ STARTFILE_ PREFIX_ 2」」』>>$file
touch $file.orig done
完整編譯安裝gcc。最好通過指定--libexecdir更改libexecdir到atm-linux目錄下。--with-local-prefix選項指定gcc本地包含文件的安裝路徑此處設為$$(PREFIX),安裝後就會在內核頭文件的路徑下。路徑前指定$(Pwd)則以當前路徑為基點,不指定則默認以/home路徑為基點,這點要注意。
cross-g++:gcc-$(GCC-)
mkdir -p build/g十+&&cd build/g++&&
CC="$(TARGET)-gcc AR=$(TARGET)-ar&&
-B/cross-roodarm-linux/lib/"&&
RANLIB=$(TARGET)-ranlib&&
..//gcc-*/configure
--host=$(HOST)--build=$(BUILD)--target=$(TARGET)
--prefix=$(SYSROOT)--with-local-prefix=$(PREFIX)
--enable-clocale=gnu --enable-shared
--enable-threads=posix --enable -cxa_atexit
--enable-languages=c,c++--enable-c99
--enable-long-long --disable-libstdcxx-pch
--disable-libunwind-exceptions
--with-gmp=$(TEMP_PREFIX)
--with-mpfr=$(TEMP_PREFIX)
--with-mpc=$(TEMP_PREFIX)&&
$(MAKE) LD_IBRARY_ATH=
$(pwd)/$(../../gcc-4.5.0/config.guess)/libgcc&&
$(MAKE) install
編譯安裝gdb,至此完成整個工具鏈的製作。
cross-gdb: gdb-$(GDB V)
mkdir -p build/gdb&&cd build/gdb&&
../../gdb-*/configure --prefix=$(SYSROOT)
--target=$(TARGET)--disable-werror&&
$(MAKE)-j$(PROCS)&&$(MAKE) install
「make clean」命令清除編譯生成的文件和創建解壓的文件夾
.PHONY:clean
dean:
rm -fr $(TEMP_PREFIX) build
binutils-$(BINUTIL,S_V) gcc-$(GCC_V)
glibc-$(NEWL.IB_V) gdb-$(GDB_V)
gmp-$(GMP_V) mpc-$(MPC_V) mpfr-$(MPFR_V)
工具鏈測試
命令行中輸入以下內容:
echo 'main(){}』>mmy.c
arm-linux-gcc -o mmy.exe mmy.c
file mmy.exe
運行正常的結果:
mmy.exe: ELF 32-bit LSB executable, ARM, version 1,for GNU/Linux 2.6.22, dynamically linked (uses shared libs),not stripped.

㈡ 如何查看一個dll是用什麼編譯器編譯的

dll文件是系統的動態鏈接庫文件,可以用一些十六位春文本編輯器打開,如UltraEdit
修改DLL文件的方法
1、下載DLL文件修改工具EXESCOPE6.0-6.3或6.4工具
2、獲取Browselc.dll、Shdoclc.dll、Shell32.dll和Cryptui.dll這幾個鏈接文件。在找這幾個文件時,最好將其他機器的硬碟,掛接在本機中,然後用本機的操作系統啟動並復制這幾個文件。
3、在修改DLL文件的時候,打開該鍵值,在右面的對話框中將所要修改的鍵值禁用即可,不要刪除,以備日後恢復

㈢ c語言中序遍歷演算法沒錯誤無法運行

可以嘗試查看下編譯器的配置,可能創建項目文件時沒有配置好,我之前就是沒有報錯但是一運行窗口就消失,最後是編譯器配置錯了

㈣ 編譯器在編譯階段,究竟做哪些事情

1. 預處理首先源代碼文件(.c/.cpp)和相關頭文件(.h/.hpp)被預處理器cpp預編譯成.i文件(C++為.ii)。預處理命令為:gcc –E hello.c –o hello.i預編譯過程主要處理那些源代碼中以#開始的預編譯指令,主要處理規則如下:u 將所有的#define刪除,並且展開所有的宏定義;u 處理所有條件編譯指令,如#if,#ifdef等;u 處理#include預編譯指令,將被包含的文件插入到該預編譯指令的位置。該過程遞歸進行,及被包含的文件可能還包含其他文件。u 刪除所有的注釋//和 /**/;u 添加行號和文件標識,如#2 「hello.c」 2,以便於編譯時編譯器產生調試用的行號信息及用於編譯時產生編譯錯誤或警告時能夠顯示行號信息;u 保留所有的#pragma編譯器指令,因為編譯器須要使用它們。2. 編譯編譯過程就是把預處理完的文件進行一系列詞法分析,語法分析,語義分析及優化後生成相應的匯編代碼文件(.s)。編譯的命令為:gcc –S hello.i –o hello.s或者從源文件直接輸出匯編代碼文件:gcc –S hello.c –o hello.s現在版本的GCC把預編譯和編譯兩個步驟合並成一個步驟,由程序cc1來完成(C++為cc1plus)。3. 匯編匯編就是將匯編代碼轉變成機器可以執行的命令,生成目標文件(.o),匯編器as根據匯編指令和機器指令的對照表一一翻譯即可完成。匯編的命令為:gcc –c hello.s –o hello.o或者從源文件直接輸出目標文件:gcc –c hello.c –o hello.o4. 鏈接鏈接就是鏈接器ld將各個目標文件組裝在一起,解決符號依賴,庫依賴關系,並生成可執行文件。鏈接的命令為:ld –static crt1.o crti.o crtbeginT.o hello.o –start-group –lgcc –lgcc_eh –lc-end-group crtend.o crtn.o一般我們使用一條命令就可以完成上述4個步驟:gcc hello.c實際上gcc只是一些其它程序的包裝,它會根據不同參數去調用預編譯編譯程序cc1、匯編器as、鏈接器ld。

㈤ codelite的使用方法,

CodeLite是一個功能強大的開源,C/C++編程語言的跨平台IDE(定期在Windows XP SP2 / 3下被測試 ,(K)
CodeLite運行屏幕截圖
Ubuntu 7.10/8.04 Gutsy Gibbon,和MacOSX 10.5.2 )。CodeLite的源代碼使用是遵循的GPL v2許可證的。

codelite的安裝windows下的安裝1.首先從CodeLite的官方網站上下載安裝包,有三種安裝包可供選擇,
codelite啟動畫面

第一種是不包含MinGW( C/C++編譯器),所以安裝後還要另外配置編譯器;

第二種是帶C/C++編譯器的安裝包(文件名中帶Mingw字樣)對於新手強力推薦此安裝包

第三種便是帶有wxWidgets庫的安裝包(文件名帶有wx字樣的安裝包);

如果對此不是很了解可以選擇最新版本的安裝包 即Download codelite-xxx.exe 字樣的安裝文件(xxx為版本號)。

2.下載後安裝包後,雙擊安裝包,然後根據提示一路Next即可。
Linux下的安裝Ubuntu可以下載選擇後綴名為deb的安裝包,其中deb後綴名安裝包名中帶有i386表示是適用於32位操作系統,名中帶有amd64位表示適用於64位Ubuntu操作系統。deb安裝包點擊即可自動完成安裝。
CodeLite安裝中文包首先下載漢化文件(這個文件Linux和windows下是通用的),如果是windows把它放在codelite\locale\zh_CN目錄下(假如codelite安裝在D:\codelite下,漢化文件的安裝路徑為D:\CodeLite\locale\zh_CN),如果是Linux則放在/usr/share/locale/zh_CN/LC_MESSAGES/ 目錄下面。然後啟動Codelite 選擇settings --->Global editor perferences ----->Misc 在Enable Localization前面點上勾,這樣在Locale to use:的右面的下拉菜單中選擇 zh_CN chinese(Simplified) 後按OK 重啟CodeLite即可。

㈥ cc gcc編譯器怎麼使用

gcc --help可以看gcc的編譯選項

常用的有
gcc -c xcxcx.c : -c 編譯C代碼,生成該文件的obj文件
gcc xcxcx.o -o dest : -o 鏈接各個obj文件,生成目標執行程序
-I : (這里是大寫i) 表示頭文件路徑
-L : 表示庫文件路徑
-l : (這里是小寫的L) 表示需要鏈接的庫文件
-O: (這里是大寫英文o) 表示優化參數
-WALL: 表示warning等級

這里是一句完整的話
g++ -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-static/lib -o Qt_V4L_ShowImage main.o myWidget.o v4lThread.o moc_myWidget.o moc_v4lThread.o -L/usr/local/Trolltech/QtEmbedded-static/lib -lQtGui -L/usr/local/tslib/lib -L/usr/local/Trolltech/QtEmbedded-static/lib -L/usr/local/lib -L/home/root/ffmpeg/lib -lts -lQtNetwork -lQtCore -lc -lgcc -lm -lrt -ldl -lpthread -lavcodec -lavformat -lavutil -lx264 -xvidcore -lcv -lhighgui -lcvaux -lcxcore

不過還是自己看一下gcc的help比較好,那裡講的全面些

㈦ 這個程序在DEV C++上可以運行並出現正確結果 但是提交到PTA就會報錯!請賜教!

當 C 語言程序能夠正常編譯並運行,但可能結果可疑或不對時,即,當程序沒有語法錯誤而可能有邏輯錯誤時,就需要考慮使用調試Debug功能來找出程序的 bug。



在調試過程中,可以讓程序運行到設置好的斷點處並暫停下來,然後通過觀察相關的變數值是否正確,來判斷程序的邏輯錯誤可能出現在哪裡。



本文以 Dev-C++ 5.11 開發環境為例來說明 C 語言的調試方法。



  • 准備工作

  • 菜單:工具/編譯選項

    Tools/Compiler Options

    在「設定編譯器配置」Compiler set to configure中選擇「TDM-GCC 4.9.2 64-bit Debug」。

    提示:

    如果是 32 位的系統,請選擇「TDM-GCC 4.9.2 32-bit Debug」。

    在下方的「編譯器」General選項卡中,勾選「編譯時加入以下命令:」Add the following commands when calling the compiler:,並在其中輸入「-g」。如上圖所示。

    確定退出後,可在軟體界面右上角看到或選擇用於調試的編譯器。

  • 設置斷點

  • 斷點breakpoint,指的是在調試過程中程序運行到此行代碼前會臨時停下,以便觀察此時的某些變數值。

    可通過點擊代碼左側的行號來設置斷點。

    或在某行代碼上右擊,選擇「切換斷點」Toggle Breakpoint。

    或者使用快捷鍵:F4。

    同樣的方法也可用於取消斷點設置。

    斷點設置建議:

    設置在 scanf 等輸入語句的下一行,以觀察數據是否被正確獲得。

    設置在循環語句的下一行,以觀察循環控制變數在循環結束後的值,或者為了避免調試過程中在循環語句段反復點擊「下一步」按鈕。

    設置在函數調用語句的下一行,以觀察函數返回的結果值是否正確。

  • 開始調試

  • 在開始調試前,一般要先編譯。

    菜單:運行/編譯

    Execute/Compile

    快捷鍵:F9

    確保沒有語法錯誤之後,再開始調試。

    菜單:運行/調試。

    Execute/Debug

    快捷鍵:F5

    或者,點擊工具欄上的「」按鈕。

  • 添加查看

  • 開始調試後,代碼將按照常規順序依次運行。執行到第一個斷點時,才臨時停止,紅色行變成藍色行,代表即將要執行的代碼行。

    此時,可將滑鼠指針懸浮於某個變數之上,以查看此時該變數的值。

    提示:

    對於字元變數,會同時顯示字元的 ASCII 碼值。

    或者,在變數上右擊,選擇「添加查看」Add watch,會自動將此變數添加到左側的調試Debug面板中,以便後續跟蹤查看。

    提示:

    在變數名上雙擊,可精準選中變數。

    或者,點擊左下方的「添加查看」Add watch按鈕,手動添加要查看的變數。

  • 繼續或停止調試

  • 可以使用相關按鈕繼續調試工作。

    下一步Next line按鈕

    運行下一行代碼。如果下一行代碼是對函數的調用,不進入函數體。

    快捷鍵:F7

    類似於 Turbo C++ 中的「Step Over」。

    跳過Continue按鈕

    直接運行到下一個斷點處。

    單步進入Into function按鈕

    運行下一行代碼,如果下一行是對函數的調用,則進入函數體內逐行運行。

    快捷鍵:F8

    類似於 Turbo C++ 中的「Trace」。

    跳過函數Skip function按鈕

    當在函數內部時點擊此按鈕,將直接運行到函數結束,並返回到函數調用處。

    停止執行Stop Execution按鈕

    停止調試,清除所有添加好的查看watch。

    快捷鍵:F6

    說明:

    下一條語句Next instruction按鈕和進入語句Into instruction按鈕,常結合CPU窗口查看並執行指令。一般的調試工作中可以不用。

㈧ 為啥74lc138解碼器的51單片機一次只能控制一個LED燈

74ls138解碼器,只能是八選一,控制LED燈也只能八個中選一個點亮,如果需要點亮八個LED燈中間的 任意一個 或者 幾個 或者 全亮,可以選擇 74ls164移位寄存器 或者 74LS595鎖存器就可以。

㈨ LC的其他意義

1、LC=LC迴路
2、LC=Line Card(線卡)
3、LC=laparoscopic cholecystectomy(膽囊切除術)
4、LC=Lucent Connector(一種尾釺介面模塊)
5、LC=Limited Companies(LC是位於東加勒比海的聖露西亞島國的國家域名)
6、LC=Linda Chung(鍾嘉欣)
7、LC=Lucky clover(幸運草)
8、LC = Line Code(一種計量單位)
9、LC=lovely complex(《戀愛情結》英文名稱的縮寫)
10、LC=learning center(作為圖書館信息機構中的一種學習場所)
11、LC=Liberty City(單機游戲俠盜獵車手3的縮寫)
12、LC=Iquid Chromatography(液相色譜)
14、LC=THE LOST CANVAS(冥王神話,通稱LC)
15、LC=鋁合金窗,建築設計用語的縮寫
16、LC=oracle銀行核心系統信用證縮寫
17、LC=laparscopic cholecystectomy腹腔鏡膽囊切除術 License Compiler (許可證編譯器)是微軟Visual Studio的一個組件 。
許可證編譯器讀取包含授權信息的文本文件,並產生一個可作為資源嵌入到公用語言運行時可執行文件中的二進制文件。
每當將一個授權控制項添加到窗體時,Windows 窗體設計器就會自動生成或更新 .licx 文本文件。 作為編譯的一部分,項目系統將文本文件 .licx 文件轉換為 .licenses 二進制資源,此二進制資源提供對 .NET 控制項授權的支持。 然後該二進制資源將被嵌入到項目輸出中。
在綁定項目時,如果使用許可證編譯器,則不支持在 32 位與 64 位之間進行交叉編譯。 這是因為許可證編譯器必須載入程序集,而不允許從 32 位應用程序載入 64 位程序集,反之亦然。 在這種情況下,使用許可證編譯器從命令行手動編譯許可證,並指定相應的體系結構。
許可證編譯器自動與 Visual Studio 一起安裝。 要啟動許可證編譯器,使用 Visual Studio 和 Windows SDK 命令提示。 在命令提示處,鍵入下列命令:
lc /target:targetPE /complist:filename [/outdir:path]/i:moles [/nologo] [/v] 選項 說明 /complist:文件名 指定包含授權組件列表的文件名,這些授權組件要包括到 .licenses 文件中。 每個組件用它的全名引用,並且每行只有一個組件。
命令行用戶可為項目中的每個窗體指定一個單獨的文件。 Lc.exe 接受多個輸入文件並產生一個 .licenses 文件。 /h[elp] 顯示該工具的命令語法和選項。 /i:模塊 指定模塊,這些模塊包含文件/complist中列出的組件。 若要指定多個模塊,請使用多個/i標志。 /nologo 取消顯示 Microsoft 啟動標題。 /outdir:路徑 指定用來放置輸出 .licenses 文件的目錄。 /target:targetPE 指定為其生成 .licenses 文件的可執行文件。 /v 指定詳細模式;顯示編譯進度信息。 /? 顯示該工具的命令語法和選項。 .lc是聖露西亞島的國家域名,屬於海外域名。對注冊.lc域名的資格沒有任何限制,任何一個國家的個人或企業均可注冊。

㈩ FC是什麼東東 具體點

FC就是你以前玩的小霸王游戲機\學習機!原來是任天堂出的!

熱點內容
oracle存儲過程continue 發布:2023-02-06 19:46:12 瀏覽:56
精通腳本黑客光碟 發布:2023-02-06 19:43:37 瀏覽:725
db2創建資料庫表 發布:2023-02-06 19:41:27 瀏覽:852
linux訪問samba 發布:2023-02-06 19:33:08 瀏覽:254
cf三頭龍腳本 發布:2023-02-06 19:29:07 瀏覽:756
linux改語言 發布:2023-02-06 19:21:29 瀏覽:620
韓服fifaol3資料庫 發布:2023-02-06 19:19:22 瀏覽:682
安卓系統小紅書如何設置連播 發布:2023-02-06 19:17:09 瀏覽:688
魅族17pro支持nm存儲卡嗎 發布:2023-02-06 19:15:22 瀏覽:732
h5進度條上傳文件 發布:2023-02-06 19:13:20 瀏覽:28