随笔分类 - C语言
摘要:背景 最近尝试编译C++项目,编译的时候遇到如下报错: .obj/Inotify.o:(.bss+0x0): multiple definition of `EVENT_NAME' .obj/FileServer.o:(.bss+0x0): first defined here .obj/serve
阅读全文
摘要:const int num = 5;, 使num成为一个常量,无法改变 const int* p = new int; const 放在星号前面,无法改变a指向的值,倒着读或理解为const修饰 *p,所以指针指向变量不能变 int* const p = new int; const 放在星号后面,
阅读全文
摘要:函数中的静态变量(初始化一次,后续进入函数不再进行重置) static 在类或者机构体中,只被初始化一次,因为它们在单独的静态存储中分配了空间,因此类中的静态变量由对象共享。对于不同的对象,不能有相同静态变量的多个副本。因为这个原因,静态变量不能使用构造函数初始化 类中的静态成员函数 :静态成员函数
阅读全文
摘要:CMakeLists.txt cmake_minimum_required(VERSION 3.20) project(tttt) set(CMAKE_CXX_STANDARD 17) # 将C/Cpp源文件生成动态库和静态库 add_library(hello_shared SHARED hell
阅读全文
摘要:#include <iostream> #include <fstream> int copy_file(const char* SourceFile, const char* TargetFile) { // 创建 std::fstream 流对象 std::ifstream in; std::o
阅读全文
摘要:#include <stdio.h> // big_ending: 1 // little_ending: 2 int IsLittleEnding() { union { short value; char array[2]; } u; u.value = 0x0102; if (u.array[
阅读全文
摘要:什么是GCC GCC(GNU C Compiler)编译器的作者是Richard Stallman,也是GNU项目的奠基者。 GCC是GNU Compiler Collection的缩写。最初是作为C语言的编译器,现在已经支持多种语言了,如C、C++、Java、Pascal、Ada、COBOL语言等
阅读全文
摘要:字符串常量与字符数组的区别 1)字符串常量是一个字符数组,但是内容和长度在初始化时就已经固定了,不可更改;可以通过一个指向字符串常量第一个元素的指针来访问该字符串常量; 2)字符数组是一个用于存放字符的数组,字符数组的值是可以更改的。 #include <stdio.h> int main(int
阅读全文