
笔记梳理
前言
本篇博客是对我近期编写代码的一些简单笔记
在这里和大家分享分享
共勉
.PHONY
在Makefile中,.PHONY 是一个特殊的目标(target),它用于声明一些“伪目标”(phony targets)。伪目标并不是文件名,它们不对应磁盘上的实际文件。相反,它们用于执行一些命令,这些命令通常用于清理构建目录、安装软件、检查代码等。
当你声明一个目标为 .PHONY 时,你告诉 make 工具这个目标是“伪”的,即它不代表文件名。这对于防止 make 误将伪目标与文件名混淆非常重要。例如,如果你有一个名为 clean 的伪目标,用于删除构建过程中生成的文件,同时你也有一个名为 clean 的文件,那么如果不将 clean 声明为 .PHONY,当你运行 make clean 时,make 可能会认为你想要更新 clean 文件(即查找是否有规则可以生成或更新它),而不是执行你指定的清理命令。
.PHONY: clean
clean:
rm -f *.o myprogram
这个 Makefile 片段定义了一个 clean 伪目标,当运行 make clean 时,它会删除所有 .o 类型的对象和名为 myprogram 的可执行文件。通过将 clean 声明为 .PHONY,我们确保了无论是否存在名为 clean 的文件,上述命令都会被执行。
C++标准库头文件
#include < iostream>:
这是一个C++头文件,用于输入输出流操作。它包含了cin、cout、cerr和clog等对象,用于标准输入输出。
#include < fstream>:
同样是C++头文件,用于文件输入输出操作。它定义了ifstream(用于从文件读取)、ofstream(用于向文件写入)和fstream(同时支持读写)等类。
#include < string>:
C++头文件,提供了对字符串的支持。它定义了std::string类,用于表示和操作字符串。
C/C++通用或C特有头文件
#include < cstdarg>:
这是一个C++头文件,提供了对可变参数列表的支持。它主要用于C++中与va_list、va_start、va_arg和va_end宏一起使用,以处理函数中的可变数量参数。
(可变参数函数允许你定义一个函数,该函数可以接受不确定数量的参数。这种函数通常至少有一个固定参数,这个固定参数通常用于确定可变参数的数量或类型。最常见的例子是printf函数。)
代码示例:
#include <stdio.h>
#include <stdarg.h>
// 定义一个可变参数函数
void printNumbers(int num, ...) {
va_list args;
va_start(args, num); // 初始化args,num是最后一个固定参数
for (int i = 0; i < num; i++) {
int value = va_arg(args, int); // 获取下一个int类型的参数
printf("%d ", value);
}


2026

被折叠的 条评论
为什么被折叠?



