導航:首頁 > 源碼編譯 > 編譯有問題怎麼體現

編譯有問題怎麼體現

發布時間:2022-09-18 09:11:38

編譯錯誤,怎麼回事

關於編譯問題,如果說是編譯錯誤發生在自己編寫源程序的過程中的話,那麼問題的原因還是比較復雜的。通常關於用戶編寫的源程序的編譯出錯問題,這是一個很復雜的問題。因為編譯錯誤有很多種。例如:語法錯誤、系統庫連接錯誤、語義錯誤、數組越界、或者內存越界等等。

通常語法錯誤是最好解決的,因為源程序的語法出錯了,連編譯這一關都通不過,並且會告訴你在哪一行出錯了,這時候是最容易調試程序的。最難調試的就是:源程序雖然編譯通過了,但是程序的運行結果卻是錯誤的,這種是最難調試的。所以說,你必須要把詳細的出錯信息寫出來,別人們才好幫助你進行分析。

Ⅱ 編譯的出錯處理

如果編譯過程中發現源程序有錯誤,編譯程序應報告錯誤的性質和錯誤的發生的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,有些編譯程序還能自動糾正錯誤,這些工作由錯誤處理程序完成。
需要注意的是,一般上編譯器只做語法檢查和最簡單的語義檢查,而不檢查程序的邏輯。

Ⅲ 通達信軟體公式出現編譯錯誤怎樣解決

通達信軟體所有指標突然「編譯未通過」的解決方法
在軟體安裝目錄下\T0002\下的找到「PriGS.dat」、「PriCS.dat」、「PriText.dat」三個文件並刪除,再在軟體安裝目錄下\T0002\GS_BAK的目錄下找名字為「yyyymmdd_PriGS.dat」、「yyyymmdd_PriCS.dat」、「yyyymmdd_PriText.dat」
的三個沒出問題前的文件拷貝到 T0002目錄中,並改回原來的名字即可。

Ⅳ unity 3D 中運行前出現編譯錯誤怎麼解決

問題在於編譯沒有通過。
首先看上去你的資源的版本和你的Unity3D的版本不一樣,以至於rigidbody沒辦法用這種方式訪問,建議使用.GetComponent 方法。
然後是你的資源的似乎缺少的Antialiasing,AAMode文件以至於無法訪問這個腳本,建議看一眼這兩個文件是否還存在。

Ⅳ 我這里c語言編譯的代碼有問題,就是編譯連接都可以,運行不行,顯示不能read

void store(LinkList &L,LinkList &M,int *r,int *t,int n,int m)//建立兩個循環鏈表,還有兩個數組
{……
……
for(i=0;i<m-1;)
{
q=p;
p=p->next;
i++;
j++;
if(i==n)//當一圈完後j重置
j=0;
}
s=s+j-1;//指針指向退出者的前一位
j=0;
w=s->next;
*t=w->data;//將編號給指針是t的數組
……
}
這塊有問題,但是我沒看懂你的「當一圈完後j重置」是什麼意思。
比如說,我輸入的n=3,m=4第一次循環出來j=0,指針s就會出錯得到s=s-1;

你自己在好好看看吧,問一句你的這個程序寫的是什麼呀?(就任務是什麼?)我沒看太明白

Ⅵ C語言 編程後,有錯誤,怎麼查看是那部分出錯了!

【編寫完代碼後直接編譯,如果有錯誤,編譯器會自動彈出提示的】

例子如下:

(6)編譯有問題怎麼體現擴展閱讀:

C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。

C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX、linux等等;也適用於多種機型。C語言對編寫需要硬體進行操作的場合,明顯優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。

Ⅶ 編程的時候有時候會出現編譯沒有錯誤而連接錯誤,這時該怎麼辦呢

如果經常出現的話,可能是你的編譯系統安裝的有問題,可能是缺庫文件,如果是出現在你自己編輯的程序中,可能是你把你的程序源碼放得分散,編譯系統在編譯完了之後找不到OBJ文件。對這種情況,你可以把你自己那部分源碼放在project 所在的目錄中。
聯接問題有些時候確實令人頭疼。但是遇到的比較少,難免大家沒主意。

Ⅷ c語言改錯 怎麼通過編譯程序檢查出語法錯誤

編譯器編譯時對你的代碼錯誤自動顯示出來,
告訴你錯在哪裡
你滑鼠雙擊他的錯誤提示
就可以跳轉到代碼有錯誤的那一行了
編譯器VC
Build里點擊ReBuildAll
就保證可以編譯了

Ⅸ 請問高手:VC++編譯時出現錯誤,怎樣查看錯誤在哪行

VC++ 錯誤的輸出窗口,把編輯框往上拖就會顯示出問題信息,然後雙擊錯誤,游標就會跳到錯誤的位置。

Ⅹ 編譯內核模塊常見有關問題怎麼解決

第一次把自己編譯的驅動模塊載入進開發板,就出現問題,還好沒花費多長時間,下面列舉出現的問題及解決方案
1:出現insmod: error inserting 'hello.ko': -1 Invalid mole format

法一(網上的):是因為內核模塊生成的環境與運行的環境不一致,用linux-2.6.27內核源代碼生成的模塊,可能就不能在linux-2.6.32.2內核的linux環境下載入,需要在linux-2.6.27內核的linux環境下載入。

a.執行 uname -r //查看內核版本

b.一般出錯信息被記錄在文件/var/log/messages中,執行下面命令看錯誤信息
# cat /var/log/messages |tail

若出現類似下面:

Jun 4 22:07:54 localhost kernel:hello: version magic '2.6.35.6-45.fc14.i686.PAE

' should be '2.6.35.13-92.fc14.i686.PAE'

則把 Makefile里的KDIR :=/lib/moles/2.6.35.6-45.fc14.i686.PAE/build1 改為

KDIR :=/lib/moles/2.6.35.13-92.fc14.i686.PAE/build1 //改成自己內核源碼路徑

(這里的build1是一個文件鏈接,鏈接到/usr/src/kernels/2.6.35.6-45.fc14.i686.PAE和13-92的)

然並卵,我的fedora 14 /usr/src/kernels下並沒有2.6.35.13-92.fc14.i686.PAE,只有2.6.35.13-92.fc14.i686,雖然不知道兩者有什麼區別,但改成2.6.35.13-92.fc14.i686還是不行,照樣這個問題,還好後來在看教學視頻的到啟發

法二:改的還是那個位置
KDIR :=/opt/FriendlyARM/linux-2.6.32.2 //把這里改成你編譯生成kernel的那個路徑
all:
$ (MAKE) -C $ (KDIR) M = $ (PWD) moles ARCH=arm CROSS_COMPILE=arm-linux- //加這句
2. [70685.298483] hello: mole license 'unspecified' taints kernel.
[70685.298673] Disabling lock debugging e to kernel taint

方法:在模塊程序中加入: MODULE_LICENSE("GPL");
3. rmmod: chdir(2.6.32.2-FriendlyARM): No such file or directory 錯誤解決
方法:lsmod 可查看模塊信息
即無法刪除對應的模塊。
就是必須在/lib/moles下建立錯誤提示的對應的目錄((2.6.32.2)即可。

必須創建/lib/moles/2.6.32.2這樣一個空目錄,否則不能卸載ko模塊.
# rmmod nls_cp936
rmmod: chdir(/lib/moles): No such file or directory
但是這樣倒是可以卸載nls_cp936,不過會一直有這樣一個提示:
rmmod: mole 'nls_cp936' not found
初步發現,原來這是編譯kernel時使用make moles_install生成的一個目錄,
但是經測試得知,rmmod: mole 'nls_cp936' not found來自於busybox,並不是來自kernel
1).創建/lib/moles/2.6.32.2空目錄
2).使用如下源碼生成rmmod命令,就可以沒有任何提示的卸載ko模塊了[luther.gliethttp]
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
int main(int argc, char *argv[])
{
const char *modname = argv[1];
int ret = -1;
int maxtry = 10;
while (maxtry-- > 0) {
ret = delete_mole(modname, O_NONBLOCK | O_EXCL);//系統調用sys_delete_mole
if (ret < 0 && errno == EAGAIN)
usleep(500000);
else
break;
}
if (ret != 0)
printf("Unable to unload driver mole \"%s\": %s\n",
modname, strerror(errno));
}
3).把生成的命令復制到文件系統
# arm-linux-gcc -static -o rmmod rmmod.c
# arm-linux-strip -s rmmod
# cp rmmod /nfs/
cp /nfs/rmmod /sbin

代碼如下:
proc.c
[html] view plain
<span style="font-size:18px;">#include <linux/mole.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/proc_fs.h> /* Necessary because we use the proc fs */
#define procfs_name "proctest"

MODULE_LICENSE("GPL");
struct proc_dir_entry *Our_Proc_File;
int procfile_read(char *buffer,char **buffer_location,off_t offset, int buffer_length, int *eof, void *data)
{ int ret;
ret = sprintf(buffer, "HelloWorld!\n");
return ret;
}

int proc_init()
{ Our_Proc_File = create_proc_entry(procfs_name, 0644, NULL);
if (Our_Proc_File == NULL) {
remove_proc_entry(procfs_name, NULL);
printk(KERN_ALERT "Error: Could not initialize /proc/%s\n",procfs_name);
return -ENOMEM; }
Our_Proc_File->read_proc = procfile_read;//
// Our_Proc_File->owner = THIS_MODULE;
Our_Proc_File->mode = S_IFREG | S_IRUGO;
Our_Proc_File->uid = 0;
Our_Proc_File->gid = 0;
Our_Proc_File->size = 37;
printk("/proc/%s created\n", procfs_name);
return 0;
}
void proc_exit()
{ remove_proc_entry(procfs_name, NULL);
printk(KERN_INFO "/proc/%s removed\n", procfs_name);
}
mole_init(proc_init);
mole_exit(proc_exit);</span></span></span></span></span>

[html] view plain
<span style="font-size:18px;">

ifneq ($(KERNELRELEASE),)
obj-m :=proc.o
else
KDIR :=/opt/FriendlyARM/linux-2.6.32.2
#KDIR :=/lib/moles/2.6.35.13-92.fc14.i686.PAE/build1
PWD :=$(shell pwd)
all:
$(MAKE) -C $(KDIR) M=$(PWD) moles ARCH=arm CROSS_COMPILE=arm-linux-
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif</span></span></span></span></span>

make後生成proc.ko,再在開發板上insmod proc.ko即可
執行 dmesg 就可以看到 產生的內核信息啦

閱讀全文

與編譯有問題怎麼體現相關的資料

熱點內容
web應用安全pdf 瀏覽:47
linuxintel網卡驅動下載 瀏覽:217
資源解壓後怎麼刪除 瀏覽:868
編程之美15種演算法 瀏覽:147
java的圖形用戶界面設計 瀏覽:769
算數游戲源碼 瀏覽:999
壓縮機工作聲音判斷 瀏覽:985
事業單位程序員 瀏覽:506
易語言取相似顏色源碼 瀏覽:773
pyodbclinux 瀏覽:585
vivo為什麼把伺服器沉到深海 瀏覽:460
程序員能為電商做什麼 瀏覽:401
騰訊直充qq號加密碼 瀏覽:140
qt搭建msvc編譯器環境 瀏覽:338
單片機晶振壞了會不會工作不穩定 瀏覽:770
天天影迷APP顯示連接伺服器失敗怎麼回事 瀏覽:961
鋼鐵命令同盟第七關怎麼過 瀏覽:7
android底部控制項彈出 瀏覽:43
為程序員而自豪 瀏覽:583
可以進行c語言編譯的文件名 瀏覽:384