- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]01-命令行参数与多文件编译_83608109
W02语法知识自学要求 * 类的定义、对象(变量)定义 设定访问权限 成员函数的声明与定义 通过对象调用成员函数 访问(读/写)对象的数据成员 this指针 友元 使用.H文件声明类的定义、使用.CPP文件实现类的成员函数 结 束 * Argc = 5 , argv = … * 基本编程技能 使用程序主函数的命令行参数 多个源文件程序的编译与链接 编写Make工具的脚本程序 * 先看一个示例:下列程序的功能是什么? // ex1.cpp @#include iostream int main() { int a, b; std::cin a b; std::cout a + b std::endl; return 0; } [现场演示] 编译、运行、总结 ? 程序命令行参数 * EX1.EXE的特点: 加法的两个操作数在程序运行时输入 在被“问到”时才输入 属于“强制交互” 能否有其他的人机交互方式? 程序命令行参数 * main(int argc, char** argv) ? 请看下面的例子 * 命令行参数。通过argc, argv传入 * main(int argc, char** argv) ? // ex2.cpp @#include iostream #include cstdio // atoi() int main(int argc, char** argv) { int a, b; // std::cin a b; a = atoi(argv[1]); b = atoi(argv[2]); std::cout a + b std::endl; return 0; } EX2.EXE 4 5 3 ? argc “4” “5” “EX2.EXE” argv argv[0] argv[1] argv[2] char** int * 例1:dir *.exe *.cpp *.obj /b 例2:cl –GX ex2.cpp –o ABC.exe 例3:g++ ex01.cpp log.cpp 想一想 上述三个例子中,源程序中的argc 与argv分别是什么? * IDE中调试时如何输入命令行参数? * main(int argc, char** argv) ? * main(int argc, char** argv) ? * 多个源文件的编译与链接 * 先来看一个示例程序 源代码行号 2084! * 多个源文件的编译与链接 EX4.cpp part1.cpp part2.cpp part3.cpp EX4.EXE EX4.EXE * 多个源文件的编译与链接 // ex5.cpp @#include iostream #include cstdio // atoi() int ADD(int a, int b) { return a + b; } int main(int argc, char** argv) { if (argc != 3) { std::cout Usage: argv[0] op1 op2 std::endl; return 1; } int a, b; a = atoi(argv[1]); b = atoi(argv[2]); std::cout ADD(a, b) std::endl; return 0; } * 多个源文件的编译与链接 * 多个源文件的编译与链接 * 多个源文件的编译与链接 * 多个源文件的编译与链接 函数声明 ex5.cpp ? func.h, func.cpp ex5_main.cpp * 多个源文件的编译与链接 //func.h int ADD(int a, int b); //func.cpp #include func.h int ADD(int a, int b) { return a + b; } // ex5_main.cpp @#include iostream #include cstdio // atoi() #include func.h // ADD() int main(int argc, char** argv){ if (argc != 3) { std::cout Usage: argv[0] op1 op2 std::endl; return 1; } int a, b; a = atoi(argv[1]); b = atoi(argv[2]
文档评论(0)