A. 如何改變編譯器Keil的程序入口函數main(),用其他自定義函數代替
目前找不到C51(我用的是STC8051)的程序入口函數編輯方法。
STM32的程序入口函數編輯方法
STM32的編輯方法就比較簡單,首先新建一個工程,不導入任何運行時環境(Run-time Environment),然後導入Startup_stm32xxxx_xx.s(ASM起動文件),調試工程選項中C/C++選項卡里包含需要導入的庫文件。
隨後找到151行 IMPORT __main
把main改為自己想要設置的入口函數就行了。
其實很多人就由於自己不會自定義C語言工程的問題,而又想先自己動手寫代碼實現「到手即用」,所以簡單聽老師對於程序的針對性講解,默認按照main寫入口函數,其實main這個名字就是商業化的結果,一些知名廠商是給你留下一個編輯空間改入口函數的,可惜大家都不知道,而且Keil5出了那麼多年都不搞官方漢化,唉,虧死了很多英語詞彙不足的業余程序愛好者。
然後很多人第一印象以為譚浩強是C語言之父,草,不就是早期寫《C程序設計》然後被各個大學紛紛膜拜然後按圖索驥的作者嘛,最忌諱應試教育搞出了填鴨式教育法讓大家失去自主探索的機會。
B. c編的單片機程序出現問題,用keil編譯提示scan()調用函數missing return value,怎麼辦高分懸賞
函數要指定返回值的,寫成void
scan(),
或者
int
scan()//顯示掃描函數
{
char
k;
for(k=0;k<4;k++)
//四位LED掃描控制
{
Disdata=dis_7[display[k]];
if(k==1){DIN=0;}
discan=~scan_con[k];delay(90);discan=0x00;
return
0;
}
C. 用keilC51編譯時用到_nop_()函數,之前未曾定義,下面報錯如何解決
#include<intrins.h>
在程序開始加上這個就行了