gcc:
https://www.cnblogs.com/hanhuo/p/9351968.html
makefile:
https://blog.csdn.net/websites/article/details/47274065