#概要
cでスタティックライブラリーやってみた。
paizaでpythonで書いてみた。
#やってみた事。
print.c hello.cを書いて、
gccで、print.oとhello.oを作って
arで、libprint.a作って
gccで、hello.oとlibprint.aからa.out作って
実行まで。
#サンプルコード
import subprocess
import os
def gcc():
p_file = 'print.c'
test_p = """
#include <stdio.h>
void print(void)
{
printf("Hello Wold ");
}
"""
with open(p_file, 'w') as f:
f.write(test_p)
c_file = 'hello.c'
test_c = """
extern void print(void);
int main(void)
{
print();
return 0;
}
"""
with open(c_file, 'w') as f:
f.write(test_c)
os.system("gcc -c %s" % p_file)
os.system("gcc -c %s" % c_file)
os.system("ar rcs libprint.a print.o")
os.system("gcc hello.o -L./ -lprint")
result = subprocess.Popen('./a.out', stdout=subprocess.PIPE).communicate()[0]
for i, v in enumerate(result[ : -1].split('\n')):
print v
if __name__ == '__main__':
gcc()
#成果物
以上。