随笔分类 -  C++

摘要:Unity引擎的字符串有三种存储方式: 堆 : 分配在堆上 内嵌 : 一个栈上的内存数据。 默认25字节,可以放长度最多24的字符串。这个长度定义为STACK_LENGTH. 外部 重点主要是前两种,这是一种优化方法,对于非常短的字符串,可以直接使用栈数据而不需要再次内存分配。C++伪代码看起来像这 阅读全文
posted @ 2024-07-31 15:17 bodong 阅读(40) 评论(0) 推荐(0) 编辑
摘要:需要注意的是,很多时候,某个编译器的版本并不完整支持某个C++标准,比如Visual Studio 2010 SP1,虽然支持了部分C++ 11的能力,但是依然有很多C++ 11的特性是不支持的。因此单纯通过C++标准的版本号来鉴别C++特性是否可用是并不完备的方法。具体支持情况可以参考这里。 #i 阅读全文
posted @ 2024-07-10 10:38 bodong 阅读(267) 评论(0) 推荐(0) 编辑
摘要:这些值可以用于在C++中判断版本和C++特性支持情况。 大版本 产品名 VC ++ 版本号 _MSC_VER定义 _MSC_FULL_VER定义 2022 Visual Studio 2022 version 17.10.3 14.40 1940 194033811 2022 Visual Stud 阅读全文
posted @ 2024-07-10 10:13 bodong 阅读(209) 评论(0) 推荐(0) 编辑
摘要:Rider的Inspections确实是非常好的功能,但是也并非每一种检查都适合当前项目,有的检查对于当前项目可能是没有意义的,比如对于一个基础库,将很多未使用的属性、方法、类等设置为public是很合理的,但是Rider会高亮提醒,这可能不是我们想要的,所以我们可能想针对当前项目禁止这种检查。 最 阅读全文
posted @ 2024-07-02 09:56 bodong 阅读(171) 评论(0) 推荐(0) 编辑
摘要:详细信息和变更请参考github首页,变更、更新等不再同步到此页面。 这是一个使用C#格式化字符串风格来格式化C++字符串的库,它是类型安全的、多线程安全、可乱序、高效的的格式化库。本项目支持几乎常见所有主流编译,无论有无C++ 11支持都可以。我使用Visual Studio 2008/2010/ 阅读全文
posted @ 2024-06-24 16:33 bodong 阅读(18) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <windows.h> #include <tchar.h> #include <string> #include <cassert> #include <functional> typedef std::basic_string<TCHAR 阅读全文
posted @ 2024-05-30 11:41 bodong 阅读(155) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <windows.h> #include <tchar.h> #include <string> #include <cassert> typedef std::basic_string<TCHAR> StringT; bool IsDriv 阅读全文
posted @ 2024-05-30 11:36 bodong 阅读(235) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #define __GEN_STRING_IMPL(x) #x #define __GEN_STRING(x) __GEN_STRING_IMPL(x) #define __GEN_LOCATION_STRING() __FILE__ "(" __GEN_ST 阅读全文
posted @ 2024-04-24 09:39 bodong 阅读(25) 评论(0) 推荐(0) 编辑
摘要:这篇文章是关于UnrealSharp开发过程中,支持使用Visual Studio调试集成到UnrealEngine5中去的C#代码的总结。 关于UnrealSharp: https://www.cnblogs.com/bodong/p/18063520 最近在测试将mono嵌入到C++应用程序中, 阅读全文
posted @ 2024-01-13 16:47 bodong 阅读(271) 评论(0) 推荐(0) 编辑
摘要:这里例举了两种方案,一种是基于C++ 17的constexpr,实现起来更精简。另外一种使用传统的方式,C++ 11就可以用了。 另外C++11的方案也是一种计算不定参数模板参数个数的方法。 1 #include <iostream> 2 #include <string> 3 4 // in C+ 阅读全文
posted @ 2023-08-21 21:34 bodong 阅读(242) 评论(0) 推荐(0) 编辑
摘要:中文报错: LNK1327: 运行 mt.exe 期间出错 原因本质上并非mt.exe的问题,是因为其它前置错误导致的。mt.exe应该是生成Manifest文件用的 ,因此可以先临时性的关闭Manifest生成,然后将错误处理完,再打开就不会有问题了: 是 >>> 否 如果解决完前置错误后打开还有 阅读全文
posted @ 2023-04-23 16:58 bodong 阅读(655) 评论(0) 推荐(0) 编辑
摘要:#pragma once extern "C" { int TestAdd(int a, int b); extern int TestAdd3(int a, int b); __declspec(dllexport) int TestAdd4(int a, int b); __declspec(d 阅读全文
posted @ 2022-12-30 10:34 bodong 阅读(40) 评论(0) 推荐(0) 编辑
摘要:本身可以通过关闭C++异常支持,rtti支持来减少代码段的大小,使用如下的命令行参数:-fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables 但是有时候却并不能彻底关闭,比如说unity引擎开发的ios游戏,il2cpp后 阅读全文
posted @ 2022-05-12 16:08 bodong 阅读(192) 评论(0) 推荐(0) 编辑
摘要:// ExtraPdbName.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <windows.h> #include <cstdlib> #include <cstdio> struct PdbInfo { 阅读全文
posted @ 2020-12-15 14:35 bodong 阅读(308) 评论(0) 推荐(0) 编辑
摘要:先上一个简单代码: #include <cstdlib> #include <cstdio> // native apis extern "C" { typedef void (*CallbackFunction)(int value); CallbackFunction GlobalFunctio 阅读全文
posted @ 2020-08-27 10:40 bodong 阅读(226) 评论(0) 推荐(0) 编辑
摘要:// 在mono源代码层级中加如下两个api 可以获取堆栈字符串 这两个api我新加的,原来没有。基于原来的代码改的。 // add by bodong#if PLATFORM_WIN32 __declspec(dllexport) GString* __stdcall mono_debugger_ 阅读全文
posted @ 2020-08-27 10:21 bodong 阅读(1052) 评论(0) 推荐(0) 编辑
摘要:#pragma once #include <map> #include <vector> struct FunctionCall { DWORD64 Address; std::string ModuleName; std::string FunctionName; std::string Fil 阅读全文
posted @ 2020-03-25 12:02 bodong 阅读(1767) 评论(0) 推荐(0) 编辑
摘要:最近重启了这个项目,修复了bug,优化了代码,请参考新的说明文档。 https://www.cnblogs.com/bodong/p/18265413 这个是很久之前写的,去年总结了一下,将其单独提取出来,作为一个开源库放到了GitHub上,然而CPPFormat之类的名字都已经被抢注了,结果只好注 阅读全文
posted @ 2015-09-10 23:57 bodong 阅读(4914) 评论(21) 推荐(3) 编辑

点击右上角即可分享
微信分享提示