消除一些编译警告

This commit is contained in:
2025-06-26 00:33:08 +08:00
parent 5411714133
commit 8928998479
4 changed files with 12 additions and 50 deletions

40
main.c
View File

@@ -31,19 +31,14 @@ __attribute__((weak)) int thread_fun(void* t) {
}
int g_argc;
// char* g_argv[100];
char** g_argv;
void set_argv(int argc, char* argv[]) {
g_argc = argc;
// for (int i = 0;i < argc;i++) {
// g_argv[i] = argv[i];
// }
g_argv = argv;
}
int get_argv(char** argv[]) {
// *argv = *(char ***)(g_argv);
*argv = (g_argv);
return g_argc;
}
@@ -58,43 +53,10 @@ int main(int argc, char* argv[]) {
myth_create(thread_fun, NULL,"main_thread");
myth_join( );
myth_join();
}
#define func_def(...)
#define SLOT_FUN_RUN(fun,param) \
((slot_fun_def)(fun))(param[0],param[1],param[2],\
param[3],param[4],param[5],param[6],param[7])
typedef void (*slot_fun_def)(size_t a,size_t b,size_t c,size_t d,size_t e,size_t f,size_t g,size_t h);
void funptr_test(){
DBG_INFO("print from funptr_test fun.\n");
}
void add_test(int a,int b,void (*f)()){
DBG_INFO("add_fun:%d+%d=%d\n",a,b,a+b);
f();
}
void SystemInit()
{
func_def(int (int a,int b){
int a;
return;
});
size_t pars[8]={4,5,(size_t)funptr_test};
SLOT_FUN_RUN(add_test,pars);
}

View File

@@ -128,7 +128,7 @@ def build_depend(src:list):
dst=os.path.join(BUILD_DIR,dst)
if(check_rebuild(dst,[i])):
cmd=f"{CC} -MM {i} -o {dst} {flags}"
print(cmd)
print(f"更新 {dst}")
ret=os.system(cmd)
if(ret):
exit()
@@ -162,7 +162,7 @@ def build_object(src:list):
# print(f"{i} 没有更新依赖关系")
pass
if(len(cmd)>0):
print(cmd)
print(f"编译 {dst}")
ret=os.system(cmd)
if(ret):
exit()
@@ -178,7 +178,7 @@ def build_target(src:list):
dst=os.path.join(BUILD_DIR,TARGET)
if(check_rebuild(dst,obj_list)):
cmd=f"{CC} {' '.join(obj_list)} -o {dst} {flags}"
print(cmd)
print(f"链接 {dst}")
ret=os.system(cmd)
if(ret):
exit()

View File

@@ -12,7 +12,7 @@ OBJCPY="riscv64-unknown-elf-objcopy"
OBJDUMP="riscv64-unknown-elf-objdump"
CFLAG=[
"-march=rv32i",
"-march=rv32i_zicsr",
"-mabi=ilp32",
"-ffunction-sections",
"-fdata-sections",
@@ -137,7 +137,7 @@ def build_depend(src:list):
dst=os.path.join(OUTPUT,dst)
if(check_rebuild(dst,[i])):
cmd=f"{CC} -MM {i} -o {dst} {flags}"
print(cmd)
print(f"更新 {dst}")
ret=os.system(cmd)
if(ret):
exit()
@@ -170,7 +170,7 @@ def build_object(src:list):
# print(f"{i} 没有更新依赖关系")
pass
if(len(cmd)>0):
print(cmd)
print(f"编译 {dst}")
ret=os.system(cmd)
if(ret):
exit()
@@ -186,7 +186,7 @@ def build_target(src:list):
dst=os.path.join(OUTPUT,TARGET)+".elf"
if(check_rebuild(dst,obj_list)):
cmd=f"{CC} {' '.join(obj_list)} -o {dst} {flags} -T{LD_FILE} -Wall -Wextra -nostartfiles -Wl,-Map,\"{OUTPUT}/{TARGET}.map\""
print(cmd)
print(f"链接 {dst}")
ret=os.system(cmd)
if(ret):
exit()

View File

@@ -512,7 +512,7 @@ int par_find_closed(token_def* t_list , int len , int token_s , int token_e) {
// 解析形参列表
int par_var_def( ) {
return 0;
}
@@ -522,7 +522,6 @@ int par_var_def( ) {
// 这个函数在 TOKEN_NAME 的时候调用 保证第一个token_def 为 TOKEN_NAME
// 返回 消耗的token 数
int par_var_fun_def(par_def* par , token_def* t_list , int len) {
token_def* t_start = t_list;
if (len < 2) {
throw_("缺少后续token在 %d 行,%d 位置" , t_list [0].line , t_list [0].pos);
}
@@ -551,6 +550,7 @@ int par_var_fun_def(par_def* par , token_def* t_list , int len) {
throw_("意外的token在 %d 行,%d 位置" , t_list [close_len + 1].line , t_list [close_len + 1].pos);
}
}
return 0;
}
@@ -604,20 +604,20 @@ int par_statement(par_def* p) {
break;
}
}
return 0;
}
// 输入token数组和长度
int par_parser(token_def* token_list , int len) {
int in_loop = 1;
int index = 0;
par_def* par = mem_calloc(1 , sizeof(par_def));
par->type = TTYPE_NONE;
par->attribute = 0;
par->token_list = token_list;
par->token_list_len = len;
par_statement(par);
return 0;
}