- 1
- 0
- 约4.78千字
- 约 33页
- 2018-02-19 发布于浙江
- 举报
[工学]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)