
C++学习
收集软件开发过程中遇到的C++问题、技巧等
hankern
Code World,Cool Life
展开
-
C++学习(四九四)cmake从list从删除文件
【代码】C++学习(四九四)cmake从list从删除文件。原创 2022-10-23 05:59:35 · 1982 阅读 · 1 评论 -
C++学习(四九五)一个最简单的cmake工程文件(动态链接库)
【代码】C++学习(四九五)一个最简单的cmake工程文件(动态链接库)原创 2022-10-23 05:48:47 · 852 阅读 · 0 评论 -
C++学习(四九四)cmake从list从删除文件
【代码】C++学习(四九四)cmake从list从删除文件。原创 2022-10-23 05:47:00 · 1473 阅读 · 0 评论 -
C++学习(四九四)cmake从list从删除文件
【代码】C++学习(四九四)cmake从list从删除文件。原创 2022-10-23 05:07:34 · 347 阅读 · 0 评论 -
C++学习(四九三)cmake的宏定义方式
2、在cmake的界面上,点击Add Entry分别添加String类型的变量即可。原创 2022-10-23 04:37:42 · 4369 阅读 · 0 评论 -
C++学习(四九二)cmake file的GLOB和GLOB_RECURSE
添加当前目录及其子目录下的所有c文件列表到lib_srcs变量中。添加当前目录下的所有c文件列表到lib_srcs变量中。file的一个作用是生成目录列表。原创 2022-10-22 18:06:47 · 9285 阅读 · 1 评论 -
C++学习(四九一)use of undeclared identifier ‘S_IREAD‘
原因分析:S_IREAD在头文件在下述位置中定义。应该是没有定义__USE_BSD或__USE_GNU,导致找不到S_IREAD。问题描述:用ninja交叉编译libgif库egif_lib.c遇到的问题。原创 2022-10-22 08:32:32 · 1510 阅读 · 0 评论 -
C++学习(四九零)add_library生成动态库和静态库
注意这里是SHARED,而不是DYNAMIC。原创 2022-10-15 19:51:52 · 788 阅读 · 0 评论 -
C++学习(四八九)Could not download aapt2-windows.jar
解决办法:去掉Gradle的offline模式,点击AndroidStudio的文件->设置,选择Gradle标签页,去掉Offline work前面的对钩。问题描述:Android Studio在编译生成Apk时报此错误。原创 2022-10-15 07:58:21 · 980 阅读 · 0 评论 -
C++学习(四八八)android下载权限及下载崩溃
下载程序崩溃,有两个原因,一是Android9.0(API28)以后默认将禁止明文访问网络,只允许使用https url访问;二是下载资源的程序和Activity在一个线程中。打开下载权限方法,在AndroidManifest.xml文件中添加。问题描述:设置了网络下载权限,但是执行下载时程序崩溃。第二个原因,需要将下载程序放在一个单独的线程中。第一个原因,可采用文章。原创 2022-09-06 05:51:08 · 968 阅读 · 0 评论 -
C++学习(四八七)android studio println的输出位置
一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息。的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。1、Log.v 的调试颜色为。2、Log.d的输出颜色是。3、Log.i的输出为。原创 2022-09-02 06:28:53 · 1293 阅读 · 0 评论 -
C++学习(四八六)lldb parent failed to evaluate variable not available
有些值获取失败,比如key等变量 还会出现有些值看不到的情况(未提示获取失败),如localLOD原创 2022-07-13 07:49:20 · 1474 阅读 · 0 评论 -
C++学习(四八五)AlphaGo的硬件和算法
1、硬件维基百科上有各种版本的AlphaGo硬件配置 :战胜李世石的版本为:(AlphaGo Distributed)使用了1202个CPU和176个GPU,同时可以有40个搜素线程。2、算法AlphaGo的技术总体架构如果一句话总结的话就是:深度CNN神经网络架构结合蒙特卡洛搜索树(Monte Carlo Tree Search)。深度学习神经网络训练出两个落子策略和一个局面评估模型,这三个策略的神经网络架构基本相同,这是参数不同而已。两个落子策略:SL(supervised-learning polic原创 2022-06-20 06:58:22 · 501 阅读 · 0 评论 -
C++学习(四八四)anaconda常用命令
安装tensorflow:pip install tensorflow-gpu==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple查看Anaconda环境是否安装成功:查看目前安装了哪些环境变量:创建一个名为 tensorflow 的环境,环境中的 python 版本为3.8退出环境变量deactivate查询安装信息conda info查询已安装的库信息conda list测试安装效果依次输入:python,import tensorflow as tf原创 2022-06-18 09:51:42 · 498 阅读 · 0 评论 -
C++学习(四八三)无法从“std::pair<const _Kty,_Ty>”转换为“_Objty”
使用vs2017编译osgEarth2.9的FeatureSourceIndexNode.cpp遇到的使用VS2017编译osgEarth2.7过程中遇到问题总结_justslowdown_going的博客-优快云博客>> xmemory0(881): error C2440: “初始化”: 无法从“std::pair<const _Kty,_Ty>”转换为 to _Objty位置:FeatureSourceIndexNode.cpp解决方法:使用osgEarth3.0版本下的原创 2022-04-10 16:46:15 · 2285 阅读 · 0 评论 -
C++学习(四八二)zlib的inflate
zlib 1.2.11 Manual https://www.zlib.net/manual.html原理:ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));Initializes the internal stream state for decompression. The fields next_in, avail_in, zalloc, zfree and opaque must be initiali原创 2022-03-07 06:17:59 · 2629 阅读 · 0 评论 -
C++学习(四八二)std string用法
std::string::size_type pos = 0;pos=str.find_first_of("$'\"", pos)pos = str.find_first_not_of("ABCDEFGHIJKLMNOPQRTSUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_", pos)原创 2022-01-26 05:56:51 · 790 阅读 · 0 评论 -
osg学习(五十七)double declaration in gles osg_ModelViewProjectionMatrix
osg state convertVertexShaderSourceToOsgBuiltIns inserts these and the double declaration is causing an error in glesosgEarth/ShaderUtils.cppvoid applySupportForNoFFPImpl(GLSLChunker::Chunks& chunks) {#if !defined(OSG_GL_FIXED_FUNCTION_AVAIL原创 2022-01-25 22:01:38 · 411 阅读 · 0 评论 -
C++学习(四八一)peek
该调用形式为cin.peek() 其返回值是一个char型的字符,其返回值是指针指向的当前字符,但它只是观测,指针仍停留在当前位置,并不后移。原创 2022-01-25 21:32:54 · 862 阅读 · 0 评论 -
C++学习(四八零)noskipws skipws
#include <iostream>#include <sstream>int main(){ char a, b, c; std::istringstream iss(" 123"); iss >> std::skipws >> a >> b >> c; // 忽略掉前面的空白字符,PS: 默认std::skipws是置位的 std::cout .原创 2022-01-25 21:28:04 · 713 阅读 · 0 评论 -
C++学习(四七九)qt如何使用系统opengl库
pro文件中增加LIBS+=-lopengl32原创 2022-01-21 06:31:12 · 751 阅读 · 0 评论 -
C++学习(四七八)GL_MAX_TEXTURE_SIZE
GLint maxTextureSize;glGetIntegerv(GL_MAX_TEXTURE_SIZE,&maxTextureSize);获取最大纹理大小。原创 2022-01-17 06:47:32 · 1132 阅读 · 0 评论 -
C++学习(四七七)glsl es使用总结 特点 不同
1、不支持接口块,out VS_OUT { vec2 TexCoords; } vs_out;原创 2022-01-15 16:49:18 · 964 阅读 · 0 评论 -
C++学习(四七六)no default precision defined for variable
需要在片段着色器设置:precision highp floatMust setdefault precision forfragment shader, or the compiler will report such error:no default precision defined for variable.But vertex shader need not.原创 2022-01-15 07:56:55 · 927 阅读 · 0 评论 -
C++学习(四七五)Storage qualifier not allowed
这是因为使用3.0的语法,却没有加上#version 300 es原创 2022-01-14 21:50:51 · 415 阅读 · 0 评论 -
C++学习(四七四)java获取上一级目录
File externalFile = getApplicationContext().getExternalFilesDir( null );///storage/emulated/0/Android/data/com.example.testnativecplusplus/files File externalFile1 = getApplicationContext().getExternalFilesDir( null ).getParentFile();原创 2022-01-11 06:48:56 · 708 阅读 · 0 评论 -
C++学习(四七三)jni调用java方法
1、方法签名在app\build\intermediates\classes\debug的路径下,运行javap -s yys.com.myjnidemo.JniDataUtil,就会输出如下的方法签名描述:public class yys.com.myjnidemo.JniDataUtil { public yys.com.myjnidemo.JniDataUtil(); descriptor: ()V public static native java.lang.String原创 2022-01-11 06:26:38 · 2089 阅读 · 0 评论 -
C++学习(四七二)android保存文件
1、保存到/data/user/0/com.flx.testfilestorage/filestry { //mode参数注意下,这里使用的Context.MODE_PRIVATE FileOutputStream outputStream = context.openFileOutput( "testfile22.txt", Context.MODE_PRIVATE ); outputStream.write( "Use OutputStream Create file\n"原创 2022-01-10 19:25:07 · 1922 阅读 · 0 评论 -
C++学习(四七一)重载运算符
1、运算符重载的规则(1)为了防止用户对标准类型进行运算符重载,C++规定重载后的运算符的操作对象必须至少有一个是用户定义的类型。(2)使用运算符不能违法运算符原来的句法规则。如不能将% 重载为一个操作数。(3)不能修改运算符原先的优先级。(4)不能创建一个新的运算符,例如不能定义operator** (···)来表示求幂。(5)不能进行重载的运算符:成员运算符,作用域运算符,条件运算符,sizeof运算符,typeid(一个RTTI运算符),const_cast、dynamic_cas原创 2022-01-09 08:18:04 · 408 阅读 · 0 评论 -
C++学习(四七零)std::ofstream
1、用法2、保存文件原创 2022-01-09 07:57:51 · 1017 阅读 · 0 评论 -
C++学习(四六九)LRU Least Recently Used算法
LRU是Least Recently Used的缩写,即最近最少使用(最近一段时间最少使用),是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。最近不是空间的概念,是时间概念,即最近一段时间。1、最开始时,内存空间是空的,因此依次进入A、B、C是没有问题的2、当加入D时,就出现了问题,内存空间不够了,因此根据LRU算法,内原创 2022-01-05 21:34:09 · 263 阅读 · 0 评论 -
osgEarth的Rex引擎原理分析(一二三)osgEarth的缓存及其结构
目标:(十七)中问题431、影像缓存的保存、提取过程2、待继续分析列表:9、earth文件中都有哪些options((九)中问题)10、如何根据earth文件options创建不同的地理信息引擎节点((九)中问题)11、rex地理信息引擎的四梁八柱((九)中问题)12、osgEarth::TerrainEngineNode中setMap方法作用((十二)中问题)13、RexTerrainEngineNode中_mapFrame的作用((十二)中问题).原创 2022-01-05 06:50:17 · 2149 阅读 · 0 评论 -
C++学习(四六八)static_cast dynamic_cast const_cast reinterpret_cast
1、static_caststatic_cast <type-id>( expression )该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用途:①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。②用于基本数据类型之间的转换,如把int转换成cha原创 2022-01-03 18:18:13 · 206 阅读 · 0 评论 -
C++学习(四六七)android java lastModified的问题
对于文件“/storage/emulated/0/Android/data/com.example.testnativecplusplus/frag.glsl”获取的时间为2021-09-11 06:05:49对于文件“/data/app/com.example.testnativecplusplus-711GmijNumEYf-I8jd_upg==/lib/arm64/libosgEarth.so”获取的时间为1979-11-30 00:00:00获取时间的代码为:SimpleD原创 2022-01-03 07:47:46 · 1886 阅读 · 0 评论 -
C++学习(四六六)Multiple parse contexts are available for this file
Note: Multiple parse contexts are available for this file. Choose the preferred one from the editor menu参考:"Multiple parse contexts" in Qt creator | Qt ForumHi Do you use sessions? https://bugreports.qt.io/browse/QTCREATORBUG-18521 Anyway, its not.原创 2021-12-30 06:15:34 · 4088 阅读 · 0 评论 -
C++学习(四六五)应用程序无法正常启动(0x000007b)
问题描述:将应用程序的一个动态库进行更换,原来的库是用vs2010生成的,新库是用vs2017生成的原因分析:可能是vs版本不一致造成的问题解决:原创 2021-12-28 06:30:12 · 1050 阅读 · 0 评论 -
C++学习(四六四)Microsoft.Cpp.Platform.targets(67,5): error MSB8020: 无法找到 <unsupported> 的生成工具
做如下配置v141可以从Microsoft.Cpp.Common.props查到原创 2021-12-27 21:38:09 · 605 阅读 · 0 评论 -
C++学习(四六三)Connection to CMake server lost
qt5.12+cmake3.12原因分析:qt打开cmake工程的目录里面有其它东西解决办法:重新更换工程路径或删除现有路径下的内容原创 2021-12-27 21:05:10 · 442 阅读 · 0 评论 -
C++学习(四六二)Parsing of CMake project failed: Connection to CMake server lost.
环境:Qt5.12 cmake3.12 64位工程为原因分析:可能是版本不一致,qt工程为32位,cmake是64位的,将cmake换3.1(32位)就可以了原创 2021-12-27 08:47:41 · 824 阅读 · 0 评论 -
C++学习(四六一)dll导出函数命名规则
C++编译时函数名修饰约定规则:__stdcall调用约定:1、以"?"标识函数名的开始,后跟函数名;2、函数名后面以"@@YG"标识参数表的开始,后跟参数表;3、参数表以代号表示:X--voidD--charE--unsignedcharF--shortH--intI--unsignedintJ--longK--unsignedlongM--floatN--double_N--bool....PA-...原创 2021-12-25 06:05:44 · 990 阅读 · 0 评论