#! /usr/bin/env python3# Add some standard cpp magic to a header fileimport sysdef main():args = sys.argv[1:]for filename in args:process(filename)def process(filename):try:f = open(filename, 'r')except IOError as msg:sys.stderr.write('%s: can\'t open: %s\n' % (filename, str(msg)))returnwith f:data = f.read()if data[:2] != '/*':sys.stderr.write('%s does not begin with C comment\n' % filename)returntry:f = open(filename, 'w')except IOError as msg:sys.stderr.write('%s: can\'t write: %s\n' % (filename, str(msg)))returnwith f:sys.stderr.write('Processing %s ...\n' % filename)magic = 'Py_'for c in filename:if ord(c)<=0x80 and c.isalnum():magic = magic + c.upper()else: magic = magic + '_'print('#ifndef', magic, file=f)print('#define', magic, file=f)print('#ifdef __cplusplus', file=f)print('extern "C" {', file=f)print('#endif', file=f)print(file=f)f.write(data)print(file=f)print('#ifdef __cplusplus', file=f)print('}', file=f)print('#endif', file=f)print('#endif /*', '!'+magic, '*/', file=f)if __name__ == '__main__':main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。