消除一些编译警告
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;
|
||||
// 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
6
make.py
6
make.py
@@ -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()
|
||||
|
@@ -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()
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user