1. 1
  2. 2
  3. 3
最新发布 每页10条   共296条   当前第8页
  • 应该选

    解决windows系统下 idea、CLion 控制台中文乱码问题

    yexindonglai@163.com 2023-04-03 11:16 idea

    4053°

    0

    1、前言2、问题分析分析3、解决3.1、方案一:将文件编码改为GBK3.2、方案二:修改cmd窗口编码格式为UTF-8第一种方式:临时性修改控制台的显示编码第二种方式:永久修改第三种方式:通过代码指定控制台编码格式(c/c++专用)1、前言以clion为例,执行一段程序后,发现中文乱码了;2、问题分析已经将设置中能设成UTF-8的都设置了;但还是会乱码;设置如下:分析因为打印这些字符是需要控制台来打印的,也就是cmd的窗口程序,按照这个提示,我打开了cmd窗口,然后输入以下命令来查看编码格式chcp结果如下活动代码页:936是什么意思,抱着好奇的心态我打开百度,原来如此,用GBK编码的控制台去
  • 应该选

    CMakelists.txt 实现多级目录编译

    yexindonglai@163.com 2023-03-27 09:29 c++

    1559°

    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
  • 应该选

    CMake、CMakeLists.txt 基础语法

    yexindonglai@163.com 2023-03-26 18:09 c++

    1779°

    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
  • 应该选

    Makefile if语句用法

    yexindonglai@163.com 2023-03-26 16:59 c++

    2086°

    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
  • 应该选

    clion解决引入头文件后找不到函数实现:Undefined symbols for architecture x86_64

    yexindonglai@163.com 2023-03-19 23:20 c++

    2460°

    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
  • 应该选

    c++调用其他cpp文件的函数

    yexindonglai@163.com 2023-03-19 12:38 c++

    2514°

    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
  • 应该选

    c++内联函数的执行原理,内联函数和宏函数的区别

    yexindonglai@163.com 2023-03-18 21:36 c++

    777°

    0

    1.内联函数的由来2.内联函数的原理替换前替换后3.内联函数的写法4.内联函数的优点5.被自动默认的内联函数6.使用内联函数与否的情况建议使用的情况:不能使用的情况:1.内联函数的由来当我们调用函数的时候,实际会有额外的开销,为了避免或减少这些额外的开销,c++中引入内联函数(inlinefunctions)。2.内联函数的原理1)当我们调用内联函数时,不会像调用普通函数那样额外开销,而是把内联函数的代码直接嵌入到调用它的地方去,但仍然保持其独立性。2)如果一个函数为内联函数,它就不会出现在最终的可执行代码里,只是会存在于编译器中,在编译器需要的地方插入。替换前替换后3.内联函数的写法在一般函
  • 应该选

    c/c++中++、--运算和 +=1、-=1运算的区别

    yexindonglai@163.com 2023-03-18 11:42 c++

    656°

    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
  • 应该选

    c++转义字符

    yexindonglai@163.com 2023-03-12 13:48 c++

    512°

    0

    前言转义字符前言在字符集中,以一个反斜杠“\”开头然后后面跟一个特定字符的形式被称为转义字符(又称:反斜杠字符)。而每个转义字符都代表某一个ASCII码表内特定的字符(不能明显的看出来的字符或本身就存在意义的一些字符),譬如:回车、Tab、“”、空字符等。转义字符字符形式ASCII码英文释义实际含义\a0x07alarm/alarm蜂鸣器响铃一声,有些系统无效,比如mac\n0x0anewline换行\t0x09tab横向跳格\v0x0bverticaltab竖向跳格\b0x08backspace退格\r0x0dreturn回车\\0x5c\反斜线\”0x22“双引号\’0x27‘单引号\oo
  • 应该选

    CLion运行多个main函数

    yexindonglai@163.com 2023-03-11 22:21 c++

    868°

    0

    前言第一种方案:添加多个add_executable第二种方案:使用foreach前言C/C++项目中,只允许有一个main函数,不方便进行单元测试,也不方便使用一个项目记录学习;但是cmake却可以解决这个问题;默认情况下,CMakeLists.txt只有一个add_executablecmake_minimum_required(VERSION3.23)project(untitled)set(CMAKE_CXX_STANDARD14)add_executable(untitledmain.cpp)第一种方案:添加多个add_executable添加多个add_executable确实能解