-
yexindonglai@163.com
2023-04-16 10:12
c++
1154°
0
什么是预宏定义常见操作系统预定义宏gcc查看预定义宏clang查看预定义宏什么是预宏定义预定义宏是C语言中标准编译器预先定义的宏常见操作系统预定义宏OSMacroDescriptionUNIXEnvironment__unix__UNIXEnvironment__unixLinuxkernellinuxGNU/Linuxgnu_linuxMacOSX&iOSAPPLE苹果系统AndroidANDROID安卓系统Windows_WIN32Definedforboth32-bitand64-bitenvironmentsWindows_WIN64Definedfor64-bitenvironmen
-
yexindonglai@163.com
2023-04-03 11:16
idea
4519°
0
1、前言2、问题分析分析3、解决3.1、方案一:将文件编码改为GBK3.2、方案二:修改cmd窗口编码格式为UTF-8第一种方式:临时性修改控制台的显示编码第二种方式:永久修改第三种方式:通过代码指定控制台编码格式(c/c++专用)1、前言以clion为例,执行一段程序后,发现中文乱码了;2、问题分析已经将设置中能设成UTF-8的都设置了;但还是会乱码;设置如下:分析因为打印这些字符是需要控制台来打印的,也就是cmd的窗口程序,按照这个提示,我打开了cmd窗口,然后输入以下命令来查看编码格式chcp结果如下活动代码页:936是什么意思,抱着好奇的心态我打开百度,原来如此,用GBK编码的控制台去
-
yexindonglai@163.com
2023-03-27 09:29
c++
1723°
0
1、多级目录2、传统方式3、新模式-递归编译1、多级目录目录级别如下图,可以看到有三级目录,2、传统方式关键带看*.cpp*/*.cpp所在行,这种方式只能编译当前目录以及子目录下的.cpp文件;file(GLOB_RECURSEfiles*.cpp*/*.cpp)#创建变量files#对files进行遍历foreach(file${files})message(STATUS${file})string(REGEXREPLACE".+/(.+)/(.+)\\..*""\\1-\\2"exe${file})add_executable(${exe}${file})endforeach()#for
-
yexindonglai@163.com
2023-03-26 18:09
c++
1980°
0
介绍1、创建项目2、添加、修改、清除变量3、常用系统变量4、打印信息5、add_difinitions()增加编译选项6、指定子src目录7、include_directories()添加头文件路径8、link_libraries()添加.so动态库文件路径8.1动态库文件路径第一种方式8.2动态库文件路径第二种方式8.3动态库文件路径第三种方式9、find_path查找文件所在的目录10、find_package()查找第三方库的头文件和链接库文件路径11、file()对文件和文件夹的操作11.1创建文件夹13、add_library()生成动态或者静态链接库14、add_executabl
-
yexindonglai@163.com
2023-03-26 16:59
c++
2258°
0
语法1.BasicExpressions:2.LogicOperators:3.ExistenceChecks4.FileOperations5.Comparisons示例1、判断两个字符串是否相等2、判断文件路径是否目录完语法CMake中的if命令用于有条件地执行一组命令,其格式如下:if(<condition>)<commands>elseif(<condition>)#optionalblock,canberepeated<commands>else()#optionalblock<commands>endif()根据Conditionsyntax评估if子句的条件参数(<conditi
-
yexindonglai@163.com
2023-03-19 23:20
c++
2698°
0
1、问题描述2、查找原因3、解决问题4、完1、问题描述先看看项目结构head.h文件内容如下#ifndefA#defineA//声明函数原型voidsum1(inta,intb);#endifhead.cpp文件内容如下#include"iostream"//引入自定义头文件#include"head.h"//函数实现voidsum1(inta,intb){std::cout<<"我是sum1"<<std::endl;}lesson_17_head_file_main.cpp是启动函数main的文件,内容如下#include"head.h"intmain(){sum1(1,2);return0
-
yexindonglai@163.com
2023-03-19 12:38
c++
2703°
0
前言一、通过引入cpp方式调用1、创建被调着文件2、创建调用者文件main.cpp3、执行二、通过头文件调用(版本1)1、创建头文件2、创建调用者文件main.cpp二、通过头文件调用(版本2)1、创建头文件2、创建被调着文件3、创建调用者文件main.cpp完前言c++程序中,如果将所有的函数和代码都放在同一个文件中,势必会非常臃肿,后期也不好维护,小项目还好,大项目就GG了;所以将函数进行分类就很有必要,在这里我将用2种方法来调用其他文件中的函数一、通过引入cpp方式调用1、创建被调着文件使用也很简单,先创建好一个被调用函数的文件func.cpp,文件内容如下#include"iostre
-
yexindonglai@163.com
2023-03-18 21:36
c++
872°
0
1.内联函数的由来2.内联函数的原理替换前替换后3.内联函数的写法4.内联函数的优点5.被自动默认的内联函数6.使用内联函数与否的情况建议使用的情况:不能使用的情况:1.内联函数的由来当我们调用函数的时候,实际会有额外的开销,为了避免或减少这些额外的开销,c++中引入内联函数(inlinefunctions)。2.内联函数的原理1)当我们调用内联函数时,不会像调用普通函数那样额外开销,而是把内联函数的代码直接嵌入到调用它的地方去,但仍然保持其独立性。2)如果一个函数为内联函数,它就不会出现在最终的可执行代码里,只是会存在于编译器中,在编译器需要的地方插入。替换前替换后3.内联函数的写法在一般函
-
yexindonglai@163.com
2023-03-18 11:42
c++
740°
0
1、普通变量++和+=1的区别2、指针变量++和+=1的区别2.1、指针++运算的解释2.1.1、*p_i+=1;拆解2.1.2、*p_i++;拆解3、解决方案完1、普通变量++和+=1的区别在我们的理解中,对一个变量进++操作和+=1的操作是一样的,同理对变量的—操作和-=操作也是一样,如下代码inti=1;i++;System.out.println(i);intb=1;b+=1;System.out.println(b);输出结果都是22、指针变量++和+=1的区别先看代码inti=1;int*p_i=&i;std::cout<<"指针原值:"<<*p_i<<std::endl;*p_i
-
yexindonglai@163.com
2023-03-12 13:48
c++
582°
0
前言转义字符前言在字符集中,以一个反斜杠“\”开头然后后面跟一个特定字符的形式被称为转义字符(又称:反斜杠字符)。而每个转义字符都代表某一个ASCII码表内特定的字符(不能明显的看出来的字符或本身就存在意义的一些字符),譬如:回车、Tab、“”、空字符等。转义字符字符形式ASCII码英文释义实际含义\a0x07alarm/alarm蜂鸣器响铃一声,有些系统无效,比如mac\n0x0anewline换行\t0x09tab横向跳格\v0x0bverticaltab竖向跳格\b0x08backspace退格\r0x0dreturn回车\\0x5c\反斜线\”0x22“双引号\’0x27‘单引号\oo