我想要执行的是1-查找并删除(__ c64)的整个定义块:
unsigned long long __c64(unsigned int llvm_cbe_hi, unsigned int llvm_cbe_lo) {
unsigned long long llvm_cbe_retval; /* Address-exposed local */
unsigned long long llvm_cbe_retval1;
*(&llvm_cbe_retval) = (((((unsigned long long )(unsigned int )llvm_cbe_hi)) << 32ul) | (((unsigned long long )(unsigned int )llvm_cbe_lo)));
llvm_cbe_retval1 = *(&llvm_cbe_retval);
return llvm_cbe_retval1;
}
除项目中的一个.c文件外。因为在.o到可执行文件的编译阶段,我得到了错误“__c64的多重定义”,我想删除所有这些但只有一个才能解决问题。
有什么想法吗?
此致
阿米尔
答案 0 :(得分:0)
如果所有文件中的功能布局完全相同,您可以试试这个
gvim -p *.c // Open all relevant files in multiple tabs
然后执行此
:bufdo %s/unsigned long long __c64\(.\+\n\)\+\(\n\)\+\(.\+\n\)\+}// | update
最后执行的“更新”将保存每个文件。
答案 1 :(得分:0)
sed '/^unsigned long long __c64/,/}/d'
幸运地工作了。
感谢所有帮助。
阿米尔