消除一些编译警告
This commit is contained in:
40
main.c
40
main.c
@@ -31,19 +31,14 @@ __attribute__((weak)) int thread_fun(void* t) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int g_argc;
|
int g_argc;
|
||||||
// char* g_argv[100];
|
|
||||||
char** g_argv;
|
char** g_argv;
|
||||||
|
|
||||||
void set_argv(int argc, char* argv[]) {
|
void set_argv(int argc, char* argv[]) {
|
||||||
g_argc = argc;
|
g_argc = argc;
|
||||||
// for (int i = 0;i < argc;i++) {
|
|
||||||
// g_argv[i] = argv[i];
|
|
||||||
// }
|
|
||||||
g_argv = argv;
|
g_argv = argv;
|
||||||
}
|
}
|
||||||
|
|
||||||
int get_argv(char** argv[]) {
|
int get_argv(char** argv[]) {
|
||||||
// *argv = *(char ***)(g_argv);
|
|
||||||
*argv = (g_argv);
|
*argv = (g_argv);
|
||||||
return g_argc;
|
return g_argc;
|
||||||
}
|
}
|
||||||
@@ -58,43 +53,10 @@ int main(int argc, char* argv[]) {
|
|||||||
|
|
||||||
myth_create(thread_fun, NULL,"main_thread");
|
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6
make.py
6
make.py
@@ -128,7 +128,7 @@ def build_depend(src:list):
|
|||||||
dst=os.path.join(BUILD_DIR,dst)
|
dst=os.path.join(BUILD_DIR,dst)
|
||||||
if(check_rebuild(dst,[i])):
|
if(check_rebuild(dst,[i])):
|
||||||
cmd=f"{CC} -MM {i} -o {dst} {flags}"
|
cmd=f"{CC} -MM {i} -o {dst} {flags}"
|
||||||
print(cmd)
|
print(f"更新 {dst}")
|
||||||
ret=os.system(cmd)
|
ret=os.system(cmd)
|
||||||
if(ret):
|
if(ret):
|
||||||
exit()
|
exit()
|
||||||
@@ -162,7 +162,7 @@ def build_object(src:list):
|
|||||||
# print(f"{i} 没有更新依赖关系")
|
# print(f"{i} 没有更新依赖关系")
|
||||||
pass
|
pass
|
||||||
if(len(cmd)>0):
|
if(len(cmd)>0):
|
||||||
print(cmd)
|
print(f"编译 {dst}")
|
||||||
ret=os.system(cmd)
|
ret=os.system(cmd)
|
||||||
if(ret):
|
if(ret):
|
||||||
exit()
|
exit()
|
||||||
@@ -178,7 +178,7 @@ def build_target(src:list):
|
|||||||
dst=os.path.join(BUILD_DIR,TARGET)
|
dst=os.path.join(BUILD_DIR,TARGET)
|
||||||
if(check_rebuild(dst,obj_list)):
|
if(check_rebuild(dst,obj_list)):
|
||||||
cmd=f"{CC} {' '.join(obj_list)} -o {dst} {flags}"
|
cmd=f"{CC} {' '.join(obj_list)} -o {dst} {flags}"
|
||||||
print(cmd)
|
print(f"链接 {dst}")
|
||||||
ret=os.system(cmd)
|
ret=os.system(cmd)
|
||||||
if(ret):
|
if(ret):
|
||||||
exit()
|
exit()
|
||||||
|
@@ -12,7 +12,7 @@ OBJCPY="riscv64-unknown-elf-objcopy"
|
|||||||
OBJDUMP="riscv64-unknown-elf-objdump"
|
OBJDUMP="riscv64-unknown-elf-objdump"
|
||||||
|
|
||||||
CFLAG=[
|
CFLAG=[
|
||||||
"-march=rv32i",
|
"-march=rv32i_zicsr",
|
||||||
"-mabi=ilp32",
|
"-mabi=ilp32",
|
||||||
"-ffunction-sections",
|
"-ffunction-sections",
|
||||||
"-fdata-sections",
|
"-fdata-sections",
|
||||||
@@ -137,7 +137,7 @@ def build_depend(src:list):
|
|||||||
dst=os.path.join(OUTPUT,dst)
|
dst=os.path.join(OUTPUT,dst)
|
||||||
if(check_rebuild(dst,[i])):
|
if(check_rebuild(dst,[i])):
|
||||||
cmd=f"{CC} -MM {i} -o {dst} {flags}"
|
cmd=f"{CC} -MM {i} -o {dst} {flags}"
|
||||||
print(cmd)
|
print(f"更新 {dst}")
|
||||||
ret=os.system(cmd)
|
ret=os.system(cmd)
|
||||||
if(ret):
|
if(ret):
|
||||||
exit()
|
exit()
|
||||||
@@ -170,7 +170,7 @@ def build_object(src:list):
|
|||||||
# print(f"{i} 没有更新依赖关系")
|
# print(f"{i} 没有更新依赖关系")
|
||||||
pass
|
pass
|
||||||
if(len(cmd)>0):
|
if(len(cmd)>0):
|
||||||
print(cmd)
|
print(f"编译 {dst}")
|
||||||
ret=os.system(cmd)
|
ret=os.system(cmd)
|
||||||
if(ret):
|
if(ret):
|
||||||
exit()
|
exit()
|
||||||
@@ -186,7 +186,7 @@ def build_target(src:list):
|
|||||||
dst=os.path.join(OUTPUT,TARGET)+".elf"
|
dst=os.path.join(OUTPUT,TARGET)+".elf"
|
||||||
if(check_rebuild(dst,obj_list)):
|
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\""
|
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)
|
ret=os.system(cmd)
|
||||||
if(ret):
|
if(ret):
|
||||||
exit()
|
exit()
|
||||||
|
@@ -512,7 +512,7 @@ int par_find_closed(token_def* t_list , int len , int token_s , int token_e) {
|
|||||||
|
|
||||||
// 解析形参列表
|
// 解析形参列表
|
||||||
int par_var_def( ) {
|
int par_var_def( ) {
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -522,7 +522,6 @@ int par_var_def( ) {
|
|||||||
// 这个函数在 TOKEN_NAME 的时候调用 保证第一个token_def 为 TOKEN_NAME
|
// 这个函数在 TOKEN_NAME 的时候调用 保证第一个token_def 为 TOKEN_NAME
|
||||||
// 返回 消耗的token 数
|
// 返回 消耗的token 数
|
||||||
int par_var_fun_def(par_def* par , token_def* t_list , int len) {
|
int par_var_fun_def(par_def* par , token_def* t_list , int len) {
|
||||||
token_def* t_start = t_list;
|
|
||||||
if (len < 2) {
|
if (len < 2) {
|
||||||
throw_("缺少后续token,在 %d 行,%d 位置" , t_list [0].line , t_list [0].pos);
|
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);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 输入token数组和长度
|
// 输入token数组和长度
|
||||||
int par_parser(token_def* token_list , int len) {
|
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_def* par = mem_calloc(1 , sizeof(par_def));
|
||||||
par->type = TTYPE_NONE;
|
par->type = TTYPE_NONE;
|
||||||
par->attribute = 0;
|
par->attribute = 0;
|
||||||
par->token_list = token_list;
|
par->token_list = token_list;
|
||||||
par->token_list_len = len;
|
par->token_list_len = len;
|
||||||
par_statement(par);
|
par_statement(par);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user