看你那個是什麼應用程序
一、要是Applet應用程序,運行是需要html的。如果你的程序名叫A,編寫html如下<applet code=A.class width=200 height=300></applet>code後放的是你編譯後的class文件,保存html名為a.html。編寫後雙擊那個html就行了。也可以在控制台中打命令appletviewer a.html
二、如果你的程序是application程序,編譯源程序後,在控制台中打命令java A(A是你編譯後的v.class文件,但後面不用打v.class)
2. C語言編譯不了,怎麼回事。。。。直接運行就跳出來一個對話框源文件未編譯。怎麼整
int main()函數需要一個返回值。在第7行跟第8行之間補一句
return 0;
運行run之前要使用編譯compile將*.cpp譯為計算機可識別的二進制代碼。
3. CodeBlocks無法編譯怎麼辦
首先我們登陸codeblocks官網,http://www.codeblocks.org/home,上官網才是專業人士的做法^-^,點download進入下載頁面
一般我們只是使用,不會對它的源代碼做修改,因此選擇release版本
之後可以看到針對各種操作系統的版本,一般大家用的是Windows版本,這里注意要選擇後兩個版本,第一個版本是不帶編譯器的,盲目選擇第一個版本產生的後果後面再講。
下載後直接雙擊安裝就好了,注意安裝界面中出現編譯器選項,說明這個版本是自帶編譯器的
如果下載的是前面一步中的第一種,就是這樣的安裝界面,注意到它是不帶編譯器的,因此安裝好後可能無法編譯(除非你電腦上本來有編譯器可以供CodeBlock使用)
下一步安裝目錄我沒有選默認,而是自己改了目錄,這樣可能導致安裝完後仍無法編譯,但修改一下設置就可以解決了
安裝完後首先到安裝目錄下看有沒有裝上編譯器,如果沒有這個文件夾你可能是安裝的不帶編譯器的版本。。。
有上一步的這個文件夾但是仍然無法編譯代碼的話,是由於我們前面安裝時更改了安裝目錄,而程序去默認的目錄下(C盤)去找這個文件夾沒找到就導致無法編譯。解決方法很簡單,打開軟體,選擇setting->Compiler
在編譯器設置頁面手動瀏覽找到MinGW文件夾,或選擇autodetect,就可以完成編譯器的設置,可以順便將GNU
GCC
設為默認編譯器
編譯成功的效果如下,如果不能編譯則log欄為空,還會彈出提示欄。
4. 重新打開一前編譯的文件,就不能再編譯了,出現這個錯誤,怎麼整啊,跪求大佬解救
可能的原因及解決辦法:
1.
已有一個本程序的實例在運行了。只需先關閉運行的實例再編譯就行了。
2.
因代碼中使用了未定義的變數或函數,導致發生了鏈接錯誤。加上變數或函數的定義就行了。
5. keil5軟體有別人的工程,但是不能編譯,應該怎麼辦,小白求詳解
建一個工程慢慢加其它函數,先加.s文件,寫一個空的main函數,編譯一下,會報錯,到.s文件中把
;IMPORT SystemInit
;LDR R0, =SystemInit
;BLX R0
這三行注釋掉,再編譯應該就沒有錯了,再一步步添加頭文件路徑和.c文件,先添加一個正確了有感覺了就一次性添加,很簡單.
6. 當程序不能編譯時怎麼辦調試configure
但是,這樣行不通時怎麼辦?在本文中,Peter Seebash 講述了當自動的配置腳本失效時應該如何去做——以及作為開發者您應如何盡量避免這種錯誤。畢竟,如果您的程序無法編譯,其結果將和您的程序編譯後不能運行一樣,您的用戶會減少。
現在許多開放源代碼的程序都會附帶有 configure 腳本。這種腳本的用途之一是自動進行對目標新系統的猜測過程。在過去,程序會附帶一個 Makefile 文件,這個文件中有 6 個不同的編譯標記和選項,但只會用到一個,其餘全部注釋掉,並且會有一個註解,告訴您「為您的系統選擇合適的標記」。如果配置選項更復雜,可能還會有一個名為 config.h 的長長的 C 頭文件,其中包含一些要設置的標記,這依賴於主機系統變數。
第一個方法很簡單,在代碼中使用 #ifdef 以支持兩種系統,例如 BSD 和 System V。由於 Unix 的類型的增加,更為實用的方法是對每一個特性使用 #ifdef。每個系統的代碼如下:清單 1. 每個系統的代碼#ifdef SUNOS4 || NEXT || NETBSD || FREEBSD || OPENBSD
#include <string.h
#else#include <strings.h
#endif每個特性的代碼如下:清單 2. 每個特性的代碼#ifdef HAS_STRING_H
#include <string.h
#else#include <strings.h
#endif後者更容易適應新系統,但需要開發者進行大量的工作。由於現在有太多可能的目標系統,因此,第二種方法對用戶來說幫助很大,不僅僅是可以自動生成配置頭文件。完成這項任務的一種方法是使用 GNU autoconf 代碼來生成 configure 腳本。這個腳本會去執行必要的測試,並創建一個具有適當值的配置頭文件。
這種腳本的另一個功能是以一致的方式設置預定義的變數。用手工編輯標記一直存在一個問題,即修改了 Makefile 文件(比如將其安裝到 /usr/gnu 而不是 /usr/local 目錄下)卻忘記修改頭文件中相應的值。當然,這樣的結果是,編譯後的程序不知道到哪裡去尋找它們自己的數據文件。使用 configure 腳本的一個好處是可以自動完成一致的安裝(如果維護者做得沒錯的話)。
開發人員請注意,一個好的 configure 腳本的另一個好處在於,它會允許用戶指定一些個人偏好,例如使用 /usr/gnu 而不是 /usr/local。
這些如何成為可能?編譯,再編譯configure 的許多功能實現機制其實很簡單。為了能切身體會,您可以設計一個小測試程序,這個程序當且僅當期望的條件得到滿足時才可以編譯。將它保存在一個臨時文件中,然後嘗試編譯它。例如,假定您想知道 X Windowing System 是否安裝在 /usr/X11R6 目錄下。一種方法是做一個如下的測試程序:#include <X11/X.h
int main(void) { return 0; }現在,如果您用編譯器來嘗試進行編譯,那麼只有當 <X11/X.h 在編譯器的 include 路徑中時,編譯才會成功。因此,對每一個您認為 X 可能安裝到的目錄,可以將對應的 (directory)/include 加入到編譯器的 include 路徑中,並嘗試對程序進行編譯。如果採用某個值時示例文件可以編譯,那麼您就得到了正確的 include 路徑。
請注意在 autoconf 中已經預定義了各種測試程序。如果可能,就直接使用這些測試程序,而不用自己去寫。這樣有很多好處。首先,autoconf 的新版本會改進這些測試程序,修正它們的錯誤,否則您將不得不自己去做這些工作。其次,這樣會節省您的時間。當然,更好的方法是完全避免測試。如果您確認某一個測試是沒有必要的(例如,即使機器位元組多於 8 位也仍需要使 sizeof(char) 為 1),您可以完全不去進行這個測試。
有一些測試是功能測試;它不足以確定是否存在一個名為 memcmp() 的函數,它的語義必須正確。通常,這些測試用於只是在一兩個平台上被注意到的非常不明顯的錯誤。這些測試實際上會去運行測試程序,並檢查它的輸出。測試程序遵循標準的 Unix 習慣:如果測試通過則返回值為 0,如果失敗則返回一個非 0 值。
一旦您有了足夠的測試程序,您可以用它們來自動確定必需的編譯標記和定義,以將它們放到頭文件的某個地方。通常,configure 腳本會允許用戶給出部分或全部已知的條件,而不是讓腳本自己去猜測。
來看一個特例,假定,系統的 brokenmemmove() 出現了問題。如果您不知道它現在有一個只會影響少部分程序的 bug,您可能會編譯一個程序並將其發布為產品,而沒有意識到這樣您將會遇到偶然的災難性錯誤。
在許多情況下,一個冗長而復雜的 configure 腳本的最終結果是這樣的:目標系統提供了這個程序用到的每一個標准特性,而且它們正確工作。在這種情況下為什麼不手工去設置這些標記呢?這對開發者來說是可行的,而對眾多用戶來說就不可以了。用戶可能不會知道到他們的 Linux 版本存在特定的 bug。他們可能不知道已經安裝了哪些軟體包,或者安裝到了何處。腳本幫那些最需要幫助的人來完成大部分的例行公事的工作。當腳本出錯時,引發的額外工作的代價可能不會太大。
錯在何處?既然您已經基本上了解了 configure 都做了些什麼工作,您可以開始尋找錯誤了。有兩種可能的 configure 錯誤。一種是 configure 是正確的,而您的系統缺少必要的先決條件。絕大多數情況下,configure 腳本會正確診斷出這種錯誤。更為麻煩的情況是 configure 本身的錯誤。這樣的結果或者是不能生成配置,或者生成一個不正確的配置。
當 configure 的猜測無誤,而您缺少先決條件時,您所要做就是要滿足缺少的那些先決條件。當您找到並安裝好後,再重新運行那個報告缺少先決條件的 configure 腳本,就可以成功了。(不要忘記刪除 config.cache 文件,這個文件緩存了上一次測試的結果;您應該讓 configure 從頭開始。)如果您正在開發 configure 腳本,您需要確保您給出的錯誤消息有意義。如果您測試的是一個函數,而這個函數是一個常見的可添加的軟體包的一部分,那麼不要告訴用戶缺少的函數的名稱 —— 告訴用戶他們需要的軟體包。確保將先決條件信息寫入 README 文件中。並且,請一定要告訴人們您測試使用的其他軟體包的版本號。
閱讀文檔無論何時,當 configure 失敗時您首先要做的是運行 configure -h,並檢查參數列表。如果它找不到您確認已經安裝的庫,您可能可以指定到另一個位置來找到這個庫。您還可以禁用和啟用某些特性。例如,用於 Angband (一個 Roguelike 游戲)的 configure 腳本有一個可選的標記 —— enable-gtk,以告訴腳本在編譯時啟用 GTK 支持。如果沒有這個標記,編譯時根本不會去嘗試。
如果您的系統配置得比較奇怪,您可能不得不為 configure 腳本設置一些非常詳細的變數,而且如果是在交叉編譯,您很可能得做一些非常特別的事情。CC 是 configure 用於指定 C 編譯器的變數,通過指定 CC 的值可以解決許多問題。如果您指定了編譯器,configure 將使用那個編譯器而不用去猜測需要使用哪一個。要注意的是,這樣您可以在命令行中指定選項和標記。例如,如果您希望編譯時支持調試符號,嘗試:CC="gcc -g -O1" ./configure(這里假定您使用的是 sh 系列的 shell;在 csh 中,用 setenv 來設置環境變數 CC。)閱讀 config.log當 configure 腳本運行時,它會創建一個名為 config.log 的文件,其中記錄的是測試日誌和得到的結果。例如,一個典型的 config.log 片斷如下:清單 3. config.log 的典型內容configure:2826: checking for getpwnam in -lsun
configure:2853: gcc -o conftest -g -O2 -fno-strength-rece conftest.c -lsun &5
ld: cannot find -lsun
configure:2856: $? = 1
configure: failed program was:
(a listing of the test program follows)如果我的系統中,-lsun 應該提供 getpwnam(),我應該可以使用命令行來對其進行確切檢查,然後再使用測試程序。只需進行少量這樣的調試,我就可以根據得到的信息來修改 configure 腳本。請注意有幫助的行號;這個測試從 configure 腳本的第 2,826 行開始。(如果您是一個 shell 程序員,您可能會喜歡在閱讀 configure 腳本片斷時列印出行號;在 shell 中 $LINENO 不能自動地被擴展為合理值,腳本使用 sed 創建一個包含有行號的自身拷貝!)當一個測試失敗或者得到意外的結果時,最好先去讀一讀日誌文件。請注意,有時測試失敗僅僅是因為上一個測試的失敗,這種失敗實際上並不重要。例如,configure 可能會因為找不到一個您聞所未聞的庫而退出,而這可能是因為測試標准 C 庫中某個功能的程序失敗而導致無法找到那個庫。在這種情況下,只需要解決第一個問題,第二個問題也就不會再出現了。
一種情況是測試程序設計不正確而可能
7. c-free在win10系統不能編譯怎麼解決
從你的報錯信息來看
1.編譯程序找不到源文件,很有可能是因為你的路徑及程序含中文導致的
2.後續的頭文件默認目錄/編譯工具鏈等目錄找不到,很有可能是因為這些路徑帶了(X86)這種未必能被識別的符號。
根據其他軟體的經驗,試試把你的IDE(C-FREE)裝到直接一點的路徑下,你這個路徑帶了(X86),工程及文件名最好不要帶中文。
直接點,你的IDC試下重新直接裝在比如D:/下面,然後工程目錄及文件名也放在比如D:/project下,再試一下
8. c++無法編譯是怎麼個情況
VC++編譯的時候,會分析編譯文件的後綴名(也就是擴展名);
VC++能執行編譯的後綴名,默認是 .CPP 和 .C
你現在編譯的文件沒有擴展名,所以編譯錯誤,修改文件名,加上擴展名
9. 關於C語言問題,VC不能編譯和組建文件怎麼辦語句是對的,組建不了,無法運行.是VC出錯了還是哪的問題
方法一:
因此問題可以按照以下方法解決:打開vc界面
點擊VC「TOOLS(工具)」—>「Option(選擇)」
—>「Directories(目錄)」重新設置「Excutable
Fils、Include
Files、
Library
Files、Source
Files」的路徑。很多情況可能就一個盤符的不同
(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。
如果你是按照初始路徑安裝vc6.0的,路徑應為:
executatble
files:
C:/Program
Files/Microsoft
Visual
Studio/Common/MSDev98/Bin
C:/Program
Files/Microsoft
Visual
Studio/VC98/BIN
C:/Program
Files/Microsoft
Visual
Studio/Common/TOOLS
C:/Program
Files/Microsoft
Visual
Studio/Common/TOOLS/WINNT
include
files:
C:/Program
Files/Microsoft
Visual
Studio/VC98/INCLUDE
C:/Program
Files/Microsoft
Visual
Studio/VC98/MFC/INCLUDE
C:/Program
Files/Microsoft
Visual
Studio/VC98/ATL/INCLUDE
library
files:
C:/Program
Files/Microsoft
Visual
Studio/VC98/LIB
C:/Program
Files/Microsoft
Visual
Studio/VC98/MFC/LIB
source
files:
C:/Program
Files/Microsoft
Visual
Studio/VC98/MFC/SRC
C:/Program
Files/Microsoft
Visual
Studio/VC98/MFC/INCLUDE
C:/Program
Files/Microsoft
Visual
Studio/VC98/ATL/INCLUDE
C:/Program
Files/Microsoft
Visual
Studio/VC98/CRT/SRC
如果你裝在其他盤里,則仿照其路徑變通就行。
關鍵是microsoft
visual
studio/
後面的東西要相同。
方法二:
最簡便的方法:
啟動VC時不要用圖形界面,通過在命令提示符下輸入:Msdev
/useenv運行(注意啦/前面有個空格).它會強制使系統環境變數全高設置成正確值.而且,只需要使用一次這樣的方式運行VC,以後再次通過雙擊圖標的方式啟動也不會有問題.
10. 為什麼我都編譯不了
你編譯器不存在這個頭文件。你引用 了當然編譯錯誤了 編譯器通過一個頭文件stdafx.h來使用預編譯頭文件。stdafx.h這個頭文件名是可以在project的編譯設置里指定的。編譯器認為,所有在指令include "stdafx.h"前的代碼都是預編譯的,它跳過include "stdafx. h"指令,使用projectname.pch編譯這條指令之後的所有代碼。 因此,所有的MFC實現文件第一條語句都是:include "stdafx.h"。 單獨將StdAfx.cpp重新編譯一次