導航:首頁 > 源碼編譯 > iar編譯

iar編譯

發布時間:2022-01-19 03:57:49

① IAR如何編譯生成文件

項目中有些功能需要用匯編編寫,所以想讓編譯器生成一個匯編框架,但是現在只能生成.r43和.lst文件,如何能生成.s43文件。
我的方法是這樣,寫一個同名的函數,在Project中選擇Option命令,在List頁中全選擇,但現在生不成s43文件

② 怎麼設置IAR 編譯快一點

主要是沒有把包含的路徑加進工程,可以這樣操作:
1.打開工程,在工程名上右鍵,選擇「Options。」項;
2. 選擇「C/C++ Compiler」菜單;
3. 在右邊的選項中選擇「Preprocessor」;
4. 在「Additional include directories:」下面查看路徑。
把你的路徑加入進去,編譯應該就可以通過了。

③ DOS下面 如何用IAR編譯程序

第一種編譯方法( 編譯直接生成class 文件,執行需先創建包的路徑)
假設當前目錄為/src/java/ ,則編譯命令為:
javac HelloWorld.java

假設當前目錄為/src/ ,則編譯命令為:
javac /src/java/HelloWorld.java
或者使用相對路徑:
javac java/HelloWorld.java

執行完該命令後, 在/src/java/ 目錄下生成一個HelloWorld.class 文件。執行文件(在java 目錄下新建目錄a ,在a 目錄下新建目錄b 將HelloWorld.class 至於b 目錄下;執行java a.b.HelloWorld ),必須要按照包的結構先創建目錄。

第二種編譯方法( 編譯直接生成包的路徑)
假設當前目錄為/src/java/ ,則編譯命令為:
javac -d . HelloWorld.java
說明:"." 為指定編譯路徑為當前目錄;生成的HelloWorld.class 所有目錄為/src/java/a/b/HelloWorld.class 。

javac -d c/d HelloWorld.java
說明:c/d 為指定編譯路徑為/src/java/c/d ,同樣也可以寫成絕對路徑如javac -d d:/ HelloWorld.java ,前提是路徑必須先存在;生成的HelloWorld.class 所有目錄為/src/java/c/d/a/b /HelloWorld.class 。

假設當前目錄為/src/ ,則編譯命令為:
javac -d . java/HelloWorld.java
說明:生成的HelloWorld.class 所有目錄為/src/a/b/HelloWorld.class 。

javac -d java/c/d java/HelloWorld.java
說明:生成的HelloWorld.class 所有目錄為/src/java/a/b/HelloWorld.class 。

第三種編譯方法(先把源文件按照包結構放到指定的目錄中,然後執行編譯命令)
假設當前目錄為/src/java/,先在目錄中創建目錄/a/b,然後編譯命令:
javac a/b/HelloWorld.java

下面總結一下對於帶包的類進行編譯和執行時的一些要點:
1、編譯時可以不考慮包結構的問題,不論用哪種方法,其實本質都是一樣的,只需要讓javac命令找到所需要編譯的原文件(*.java)即可。編譯時可以用相對或者絕對路徑來為javac命令提供源文件的位置信息。

2、初學者易混淆classpath的作用,對於java命令的-cp選項和javac命令的-classpath選項,以及配置環境變數時的 CLASSPATH.其作用是不變的:都是指定所需要的class文件的位置。所不同的是,執行javac編譯時的-classpath選項用於指定被編譯的源文件需要調用另外的用戶自定義類的位置.。執行java命令是根據classpath來尋找所需要執行的class文件的位置;而javac命令不能根據classpath來找源文件,只能根據classpath來尋找所需要用到的類。

下面舉例來說明該問題:
假設以下代碼(位置:/src/java/code/a/b/TestT.java):
package a.b;
import c.d.T;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
}
}
package a.b;
import c.d.T;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
}
}
引入的文件(位置:/src/java/code/tmp/c/d/T.java)
package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}
package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}
假設現在編譯兩個文件(目錄:/src/java/),則編譯命令為:javac -classpath code/tmp code/a/b/TestT.java 執行命令為:java -cp code;code/tmp a/b/TestT

如果當前目錄為:/src/java/code/,則編譯命令為:javac -classpath tmp a/b/TestT.java執行命令為:java -cp .;tmp a/b/TestT

假設現在編譯不同磁碟的三個文件(目錄:e:/src/java/),則編譯命令為:
假設以下代碼(位置:e:/src/java/code/a/b/TestT.java):
view plain to clipboardprint?
package a.b;
import c.d.T;
import e.f.T1;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
T1 t1 = new T1();
t1.p();
}
}

package a.b;
import c.d.T;
import e.f.T1;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
T1 t1 = new T1();
t1.p();
}
}
引入的文件1(位置:d:/java/code/tmp/c/d/T.java)

view plain to clipboardprint?
package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}

package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}

引入的文件2(位置:c:/code/tmp/e/f/T1.java)
view plain to clipboardprint?
package e.f;
public class T1 {
public void p(){
System.out.println("class:T1");
}
}

package e.f;
public class T1 {
public void p(){
System.out.println("class:T1");
}
}
如果當前目錄為:e:/src/java/
編譯命令為:javac -classpath d:/java/code/tmp;c:/code/tmp code/a/b/TestT.java
執行命令為:java -cp code;d:/java/code/tmp;c:/code/tmp a/b/TestT

說明:javac命令中的classpath必須指定引入類的路徑;同樣java命令中的cp必須引入引入類的class的路徑也需指定執行類的路徑

實例:
package test;
enum T{
HELLO,WORLD,HAA;
}

package test;
import static test.T.*;
public class A {
private T t;

public A(T t){
this.t = t;
}

public static void main(String[] args){
System.out.println(new A(HELLO));
System.out.println(new A(HAA));
}

@Override
public String toString(){
return this.t + " ";
}
}

編譯命令:javac -d . T.java
javac -d . A.java

執行命令: java test.A

④ IAR 編譯怎麼產生HEX文件,目前產生的是d51

打開工程,依次Project->Options->Output Converter,在這個界面勾選 Generate additional output,下拉框選擇Intel extended,勾選 Override default,再輸入你需要的hex文件名,點擊OK就好了。最後重新編譯一下工程,你就能在你工程文件(.eww)的\Debug\Exe中找到生成的hex文件了。

⑤ 求助!在IAR環境下編譯程序時總是編譯不對!

看看是不是開了另外一個窗口在debugging,如果有的話點擊stop debugging(紅色按鈕)

就好了

⑥ iar編譯失敗

沒注冊好吧
給你個網站
www.ouravr.com
搜IAR 裡面有破解的,祝好運

你申請來的是適用版的, 有時間限制或4KB限制
所以找破解

⑦ IAR編譯的程序怎樣下載

生成hex文件後使用專用的編程器來下載,各家公司的晶元使用的編程器是不一樣的。比如TI用的是CCDEBUG。

⑧ 在IAR怎麼編譯MQX的庫文件

#include <stdarg.h> //讓函數能夠接收可變參數
#include <stdio.h> //標准輸入輸出
#include <math.h> //標准數學函數
#include <stdlib.h> //標准庫
//#include <string.h> //標准字元函數庫
#include <stdbool.h> //可用bool變數
#include <intrinsics.h>

⑨ 用iar新建工程編譯選項設置

主要是沒有把包含的路徑加進工程,可以這樣操作: 1.打開工程,在工程名上右鍵,選擇「Options。。。。」項; 2. 選擇「C/C++ Compiler」菜單; 3. 在右邊的選項中選擇「Preprocessor」; 4. 在「Additional include directories:」下面查看路徑。 把你...

閱讀全文

與iar編譯相關的資料

熱點內容
能銀行卡轉賬的app有什麼 瀏覽:78
安卓設備代碼如何輸入 瀏覽:503
預估計演算法 瀏覽:509
怎樣改應用加密密保密碼 瀏覽:376
RETI單片機英文 瀏覽:942
有什麼魔術app 瀏覽:900
轉移個人文件夾APPdata 瀏覽:933
架子手作解壓樂高 瀏覽:857
怎麼用安卓退訂蘋果業務 瀏覽:74
小型伺服器磁碟怎麼做 瀏覽:563
php考試填空題 瀏覽:265
分時流向指標源碼 瀏覽:604
做解壓盒子教程 瀏覽:658
程序員看到自己的頭發怎麼辦 瀏覽:155
自解壓安裝包教程 瀏覽:468
php語音到賬api介面怎麼設置 瀏覽:569
投影內置安卓內置投屏是什麼意思 瀏覽:702
macbook的app怎麼刪除 瀏覽:557
php代理ip採集 瀏覽:812
蓋爾德伺服器地址 瀏覽:88