『壹』 linux 編譯compat-wireless-3.1-rc1-1時的問題
簡單的步驟在ubuntu(hardy)里安裝google-gadgets:
1. wget
2. tar zxvf google-gadgets-for-linux-0.9.1.tar.gz
3. cd google-gadgets-for-linux-0.9.1/
4. sudo apt-get install zlib1g-dev libmozjs-dev libcurl4-openssl-dev libxml2-dev libdbus-1-dev libmozjs-dev libgstreamer-plugins-base0.10-dev libcurl3-openssl-dev libdbus-1-dev libxul-dev libcurl3 libcurl3-dbg libcurl3-gnutls libcurl4-openssl-dev libcurl-ocaml libmozjs0d libmozjs0d-dbg libmozjs-dev g++-4.2-multilib g++ libqt4-dev
5. sudo ldconfig
6. ../../configure --enable-debug
7. sudo make install
(或者不用sudo,而是設置另一個安裝目錄,不同於默認的/usr/local)
1. export LD_LIBRARY_PATH=/usr/local/lib
2. ggl-gtk
『貳』 用的hi-tech C編譯器對pic的C程序編譯,其中for循環變數未定義為volatile型,可是for語句還是正常執行
編譯器不一樣優化結果不一樣很正常啊,你要得到跟他一樣的結果你也在linux系統中用gcc編譯器測試一下咯
『叄』 PIC單片機16系列的使用什麼編譯器
使用MAPLAB,microchip公司出的開發軟體包。
『肆』 PIC編程軟體
Microchip官網:http://www.microchip.com/
Microchip IDE下載頁面:http://www.microchip.com/pagehandler/en-us/family/mplabx/
在這個下載頁面根據你的操作系統選擇對應的IDE(開發環境),然後再下載對應的編譯器(compiler),比如你用的是8位的單片機就下載XC8,16位的就下載XC16,32位的就下載XC32。
先裝開發環境,三個編譯器可以全部都裝上,都支持C語言。
『伍』 關於PIC單片機編譯出錯的問題
Error [314] E:\lock 2014-9-9\wensuo\sorice\NJ66XDL.c; 141.1 ";" expected
雙擊這一行,跳到出錯處,錯誤原因已經告訴你了,少了一個「;」號。
Error [192] E:\lock 2014-9-9\wensuo\sorice\NJ66XDL.c; 149.42 undefined identifier "BackData2"
再雙擊這一行,錯誤原因也告訴你了,BackData2這個變數之前沒有定義,要在前面定義了編譯器才認識它是什麼。
Warning [345] E:\lock 2014-9-9\wensuo\sorice\NJ66XDL.c; 143.1 unreachable code
這個警告是告訴你這些代碼編譯器分析下來是永遠也執行不到的代碼。
Warning [357] E:\lock 2014-9-9\wensuo\sorice\NJ66XDL.c; 149.51 illegal conversion of integer to pointer
這個警告是告訴你把一個整形數轉換成指針是非法的,看看編譯器的使用說明。
『陸』 PIC編譯器中的PCW屬於哪種編譯器,PICC 還是CCS
CCS好像是固定的函數比較多,而且在程序開始是變數和PIC晶元地址多要一一定義。
PICC好像沒有這方面要求。我一直用PICC。
『柒』 請問我有一個.so文件,如何在Linux下編程使用呢
-lxx
xx是你的.so文件名
其實使用方法和你使用數學庫函數是一樣的,源代碼中添加
#include <math.h>,編譯的時候,加上-lm參數。
註:linux下的.so文件為共享庫,相當於windows下的dll文件。
linux下編寫調用so文件實例
.so是Linux(Unix)下的動態鏈接庫. 和.dll類似.
比如:
文件有: a.c, b.c, c.c
gcc -c a.c
gcc -c b.c
gcc -c c.c
gcc -shared libXXX.so a.o b.o c.o
要使用的話也很簡單. 比如編譯d.c, 使用到libXXX.so中的函數, libXXX.so地址是MYPATH
gcc d.c -o d -LMYPATH -lXXX
注意不是-llibXXX
test.c文件和一個test.h,這兩個文件要生成libsotest.so文件。然後我還有一個testso.c文件,在這個文件裡面調用libsotest.so中的函數。
編寫的過程中,首先是編譯so文件,我沒有編寫makefile文件,而是參考的2裡面說的直接寫的gcc命令。
因為so文件裡面沒有main函數,所以是不可執行的,所以編譯的時候要加上-c,只生成目標文件。
『捌』 請教一個關於pic18編譯器的問題,很痛苦
使用MPLAB IDE v8.9編譯c18 選用單片機為pic18f2525
分別採用如上三種編譯器 均無法編譯 要麼無法找到頭文件(picc18),要麼陷入死循環(mcc)、或者配置字未定義(xc8)
#include<timers.h>
#include<plib.h>
#include<xc.h>
/*Set configuration bits
* -set HS oscillator
* -disable watchdog timer
* -disable low_voltage programming
* -disable brownout reset
* -enable master clear
*/
#pragma config OSC=HS
#pragma config WDT=OFF
#pragma config LVP=OFF
#pragma config BOR=OFF
#pragma config MCLRE=ON
void MyHighInt(void)
void MyLowInt(void)
#pragma interrupt MyHighInt
#pragma code high_vector=0x08
void high_vector(void)
{
_asm GOTO MyHighInt_endasm
}
#pragma interruptlow MyLowInt
#pragma code low_vector=0x18
void low_vector(void)
{
_asm GOTO MyLowInt_endasm
}
『玖』 PIC的編譯器CCS與PICC的語言有什麼不同的地方,兩者可以相互移植嗎
對於標準的ANSC C語言部分沒什麼問題,如用C語言的數據類型寫的簡單演算法之類,可以互相移植。
對於單片機編譯而言,
PICC的C語言按ANSI C來定義,並進行了C語言的擴展。PICC和ANSI C有一個根本的區別就是,PICC不支持函數的遞歸調用。
CCS也是C語言,但也不是標準的ANSI C語言,它的頭文件定義與ANSI C語言不同,所以它的程序和PICC不能混著編譯,兩者之間也不能混著移值。針對CCS編寫的程序只能用CCS的編譯器編譯,用PICC編譯只能報錯,反之亦然。