![]() |
發(fā)布時間: 2022-4-26 21:28
正文摘要:Build started: Project: Project Build target 'Target 1' linking... LX51 LINKER/LOCATER V4.66.97.0 - SN: K1DZC-4GYRBC COPYRIGHT ARM Germany GmbH 1995 - 2019 @..\Project.lnp "..\main.obj" ... |
lkc8210 發(fā)表于 2022-4-27 14:56 謝謝了,重新指定了output文件夾,剛試了一下編譯通過了 |
zenmoleshi 發(fā)表于 2022-4-27 15:10 指定了output文件夾 |
早年C51必須用DOS8.3文件名,包括路徑名,舉個栗子,12345678.ABC,如果長度長了就認(rèn)不出來,會出現(xiàn)系統(tǒng)IO錯誤,無法生成文件。 |
output要自己選路徑的,好比你買快遞又不給人家收貨地址![]() |
你把Project 和 Hex的output路徑放到哪里了? Keil沒有權(quán)限產(chǎn)生檔案 |
有沒有高手指點一下,感覺是keil設(shè)置問題 |
頂一下 |
以上是代碼![]() |
#include "datatype.h" #include "menu.h" #include <string.h> #include <stdio.h> #include <stdlib.h> void func(void) { } //首先定義一個菜單結(jié)構(gòu)體 typedef struct menu //定義一個菜單 { unsigned char range_from,range_to; //當(dāng)前顯示的項開始及結(jié)束序號 unsigned char itemCount; //項目總數(shù) unsigned char selected; //當(dāng)前選擇項 unsigned char *menuItems[17]; //菜單項目 struct menu **subMenus; //子菜單 struct menu *parent; //上級菜單 ,如果是頂級則為null void (**func)(); //選擇相應(yīng)項按確定鍵后執(zhí)行的函數(shù) }Menu; Menu MainMenu = { //定義主菜單 0,3,4,0, //默認(rèn)顯示0-3項,總共4項,當(dāng)前選擇第0項 { "測量表 ", // >表示有下級選項 "其他設(shè)置 ", "保護(hù)設(shè)定 ", "查詢 >" } }; Menu searchMenu = { //查詢菜單 0,3,6,0, { "記帳記錄明細(xì) ", "未采集記錄數(shù) ", "設(shè)備機(jī)號 ", "本機(jī)IP地址 ", "記錄空間大小 ", "軟件版本 " } }; Menu *currentMenu; //當(dāng)前的菜單 //初始化菜單: void initMenu() { char mempool[512]; init_mempool (&mempool, sizeof(mempool)); MainMenu.subMenus = malloc(sizeof(&MainMenu)*4); MainMenu.subMenus[0] = &searchMenu;//第1到3項沒有子菜單置null,選擇后程序會調(diào)用func中相應(yīng)項中的函數(shù) MainMenu.subMenus[1] = NULL; MainMenu.subMenus[2] = NULL; MainMenu.subMenus[3] = NULL;//第四項查詢有子菜單 MainMenu.func = malloc(sizeof(&func)*4); MainMenu.func[0] = NULL; MainMenu.func[1] = NULL; MainMenu.func[2] = &func;//當(dāng)選擇了并按了確定,會執(zhí)行func函數(shù) MainMenu.func[3] = NULL; MainMenu.parent = NULL;//表示是頂級菜單 searchMenu.subMenus = malloc(sizeof(&searchMenu)*6); searchMenu.subMenus[0] = searchMenu.subMenus[1] = searchMenu.subMenus[2] = searchMenu.subMenus[3] = searchMenu.subMenus[4] = searchMenu.subMenus[5] = NULL; searchMenu.func = malloc(sizeof(&printf)*6); searchMenu.func[0] = searchMenu.func[1] = searchMenu.func[2] = searchMenu.func[3] = searchMenu.func[4] = searchMenu.func[5] = NULL; searchMenu.parent = &MainMenu;//上一級菜單是MainMenu.進(jìn)入查詢子菜單后按返回鍵,將會顯示這個菜單項 currentMenu = &MainMenu; } void main(void) { } |
Powered by 單片機(jī)教程網(wǎng)