优化编译脚本
This commit is contained in:
@@ -87,7 +87,6 @@ def create_lambda(text:str):
|
||||
|
||||
# 生成lambda展开后的文件 返回新的源文件列表
|
||||
def search_lambda(src_list:list) -> list:
|
||||
file_index=0
|
||||
for index,item in enumerate(src_list):
|
||||
with open(item,encoding='utf-8') as f:
|
||||
d=f.read()
|
||||
@@ -98,18 +97,20 @@ def search_lambda(src_list:list) -> list:
|
||||
if(lam_index!=0 and d[lam_index-1]!='\n'):
|
||||
continue
|
||||
# 获取lambda文件名
|
||||
dst_file_name=f"lambda_{file_index}_"+ os.path.basename(item)
|
||||
file_index+=1
|
||||
dst_path=os.path.join(TMP_DIR,dst_file_name)
|
||||
src_list[index]=dst_path
|
||||
base_path=os.path.join(TMP_DIR,os.path.dirname(item))
|
||||
if not os.path.exists(base_path):
|
||||
os.makedirs(base_path)
|
||||
dst_file_name=os.path.join(base_path, os.path.basename(item))
|
||||
src_list[index]=dst_file_name
|
||||
# 不需要重新生成lambda文件
|
||||
if(not check_rebuild(dst_path,[item])):
|
||||
if(not check_rebuild(dst_file_name,[item])):
|
||||
continue
|
||||
lam_list=calc_lambda_text(d)
|
||||
lambda_funs=[]
|
||||
for lam in lam_list:
|
||||
lambda_funs.append(create_lambda(lam))
|
||||
with open(dst_path,mode='w+',encoding='utf-8') as f:
|
||||
print(f"生成 {dst_file_name}")
|
||||
with open(dst_file_name,mode='w+',encoding='utf-8') as f:
|
||||
lambda_funs_text=""
|
||||
for lam,fun in zip(lam_list,lambda_funs):
|
||||
lambda_funs_text+=f"static {fun.return_type} {fun.name}({','.join(fun.params)}){'{'}{fun.body}{'}'}\n"
|
||||
|
Reference in New Issue
Block a user