- 博客(1375)
- 资源 (2)
- 收藏
- 关注
原创 FMU精度问题
2.建模工具的开发语言不确定,但是生成fmu的语言皆为C语言,所以每种开发语言、每款软件从原生模型到生成fmu的过程中都进行了相应的处理,导致fmu会和原生模型有不同程度的差别;5.原生模型在原有的仿真软件中,在输出求解结果时一般是用插值算法的方式进行了数据拟合,而这个代码实现一般不会打包到生成的fmu中,所以精度不一样无法溯源。1.fmu存在的本质意义是连接来自不同学科的模型,进行多学科协同仿真,提高工作效率并降低开发成本,而不是对求解精度的复现;
2024-04-26 08:44:07
238
原创 centos 升级gcc
1. yum install centos-release-scl -y2. yum install devtoolset-11-gcc devtoolset-11-gcc-c++ -y3. scl enable devtoolset-11 bash
2023-05-29 08:50:09
311
原创 cmake gui
Value: 输入适当的运行库值,例如 MultiThreaded$<$<CONFIG:Debug>:Debug>DLL或者MultiThreaded$<$<CONFIG:Debug>:Debug>Value: 添加库路径,多个路径之间用分号(;)分隔,例如 /path/to/first/library;Value: 添加库路径,这个不好使,还是得在CMakelists文件里加include_directories。
2023-03-31 17:48:14
254
转载 自定义外部协议使浏览器拉起本地程序
由于我们的游戏需要在浏览器中调用NPAPI插件,而chrome移除了NPAPI的支持,导致游戏并不能很好的适配所有的浏览器,所以这个时候我们对于chrome浏览器用到了自定义浏览器协议这一标准。自定义浏览器协议允许在浏览器中使用的形式进行调用本地程序。包括在网页上拉起百度云网盘、或者拉起QQ等等等等,都属于自定义浏览器协议。我们的游戏客户端注册表一开始没有在下写入的注册信息,导致在chrome v74及以上浏览器中无法拉起外部程序,而在v74以下则可以拉起。
2022-09-23 11:22:17
1911
原创 pugi UTF8
struct xml_string_writer : pugi::xml_writer { public: wofstream wfo; xml_string_writer(string file) { auto LocUtf8 = locale(locale(""), ::new codecvt_utf8<wchar_t>); wfo.open(file, ios::out); wfo.imbue(LocUtf8); } virtual v...
2022-04-29 16:42:05
448
原创 以字符串形式打印宏值
#define PI 3.141592654#define xstr(s) str(s)#define str(s) #sint main(){ string str1 = xstr(PI); const char* str2 = xstr(PI); cout << str1 << endl; cout << str2 << endl;}
2022-04-23 19:01:17
532
原创 vcpkg
git clone https://github.com/Microsoft/vcpkg.gitcd vcpkg./bootstrap-vcpkg.sh./vcpkg integrate installvcpkg install curl[tool]
2022-02-20 09:01:43
569
转载 find_path、find_library备忘录
find_path用于查找包含的头文件,其查找顺序为:从CMAKE_INCLUDE_PATH中查找。 从系统默认头目录即/usr/include、/usr/local/inlucde中查找。其中如果从CMAKE_INCLUDE_PATH中查找的话,需要在~/.profile或者/etc/profile中设置(注意:设置后需重启系统),如下:export CMAKE_INCLUDE_PATH=/home/dansir/work/mygit/其中紫红色是你要设置的查找目录...
2022-02-16 15:19:52
446
转载 MinGW编译boost库
介绍在windows下编译boost可以选择msvc和mingw两种方式,这里介绍使用mingw方式编译,msvc也是类似的操作源码下载例如1.48.0http://www.boost.org/users/history/version_1_48_0.html使用不同的版本时将version_1_48_0替换即可编译编译 b2.exe进入boost的目录,运行bootstrap.bat,成功后会生成b2.exe编译Boost进入boost的目录.\b2.exe insta
2022-02-14 20:26:23
1120
转载 多C++标准版本指定
本文主要介绍 CMake 中 include 指令的相关知识。1 概述引用 CMake 官网对于 include 指令的介绍,如下:Load and run CMake code from a file or module.include 指令的用法如下:include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>] [NO_POLICY_SCOPE])Load and run CMake code from th
2022-02-13 15:33:13
627
转载 Could NOT find XXX (missing: XXX_LIBRARY XXX_DIR)
有时候从github上下载一些新的包编译时经常会缺少一些插件或库文件,比如Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)或者Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)解决办法如下
2022-02-13 00:23:26
3090
原创 msys2
$ pacman -S gcc-fortranresolving dependencies...looking for conflicting packages...Packages (9) binutils-2.37-5 gcc-11.2.0-3 isl-0.22.1-1 mpc-1.2.1-1 msys2-runtime-devel-3.3.3-7 msys2-w32api-headers-9.0.0.6214.acc9b9d9e-...
2022-02-12 23:23:18
511
原创 OpenXLSX 字段读取问题
在读取excel的时候发现有些字段无法读取,通过把excel文件解压后对比发现,正常读取和不能正常读取的字段在sharedString.xml中存储的格式有差异,取其中一个字段,如下图:正常读取的不能读取的对比可以看到其区别,然后查找openxlsx对这块的处理,通过调试代码找到代码如下:const char* XLSharedStrings::getString(uint32_t index) const{ auto iter = xmlDocument().doc
2021-12-31 14:16:28
751
1
原创 esmini LongSpeedAction修改
esmini的LongSpeedAction,如果shape设置为step的话,DynamicsDimension实际就无效了,因为step的意思就是直接设置,在LongSpeedAction的Start过程中设置完就结束了,Step就不在执行。如果我们在step的情况下,想让LongSpeedAction持续一段时间再结束,可以这么修改。在Start中去掉OSCAction::End() if (transition_dynamics_.shape_ == DynamicsSh
2021-11-29 15:00:29
517
2
转载 3W+字的设计模式手册
设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属Gang of Four(GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。有一些重要的设计原则在开篇和大家分享下,这些原则将贯通全文: 面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步,这就不需要多说了吧。 职责单一原则。每个类都应该只有一个单一的功能,并且该功能应该由这个类完全封装起来。 ..
2021-11-15 08:16:03
397
转载 Logistic Regression:最基础的神经网络
一、什么是logictic regression下面的图是Andrew Ng提供的一个用logistic regression来识别主子的图片的算法结构示意图:「左边」的「x0到x12287「是输入(input),我们称之为」特征(feather)」,常常用「列向量x(i)「来表示(这里的i代表第i个训练样本,下面在只讨论一个样本的时候,就暂时省略这个标记,免得看晕了-_-|||),在图片识别中,特征通常是图片的像素值,把所有的像素值排成一个序列就是输入特征,每一个特征都有自己的一个」权重(we
2021-10-27 17:15:59
533
转载 从此明白了卷积神经网络(CNN)
卷积神经网络是一种曾经让我无论如何也无法弄明白的东西,主要是名字就太“高级”了,网上的各种各样的文章来介绍“什么是卷积”尤为让人受不了。听了吴恩达的网课之后,豁然开朗,终于搞明白了这个东西是什么和为什么。我这里大概会用6~7篇文章来讲解CNN并实现一些有趣的应用。看完之后大家应该可以自己动手做一些自己喜欢的事儿了。一、引子:边界检测我们来看一个最简单的例子:“边界检测(edge detection)”,假设我们有这样的一张图片,大小8×8:图片中的数字代表该位置的像素值,我们知道,像素值越大
2021-10-27 13:23:12
340
原创 OpenDrive记录
1. junction里面只有一半的链接关系,也就是只有road进入junction的链接关系,没有junction出去的链接关系。拿路径搜索方法举例,1) 如果当前road的前方是junction,即当前road的predecessor或者successor是junction,需要从junction里面找到当前road前方的road,即junction=‘-1’的road2)如果当前road是junction=‘-1’的road,那么当前road的前方一定是road,即当前roa.
2021-10-13 16:30:54
473
原创 ubuntu 远程桌面
1. apt-get install xrdp2.apt-get install dconf-editor3.启动软件“dconf-editor",依次展开org->gnome->desktop->remote-access, 然后取消 “requlre-encryption”的勾选4. 打开系统设置->共享,打开共享并设置密码5. 打开windows远程桌面,选择vnc-any,填入IP和共享密码...
2021-10-11 19:04:43
387
原创 p3d gauge 尺寸问题
1. 在panel.cfg中,每个window可以有多个gauge,window是gauge的容器2. 在panel.cfg中,background_color为window背景色,如果设置为0,0,0,未被gauge覆盖的部分会透明3. 在panel.cfg中,size_mm和gaugeXX的W,H是window和gauge的占比关系,而不是真实尺寸,如果size_mm == W,H,那么gauge会撑满window,否则,会用background_color填充4. 对于MAKE_S
2021-10-06 22:09:09
215
原创 Package ‘*****‘ has no installation candidate
如果在apt源中未找到软件,去ubuntu的软件包搜索页面中去搜索该软件Ubuntu – Ubuntu Packages Searchhttps://packages.ubuntu.com/前面红字找到对应ubuntu版本的软件版本名称,后面中括号为仓库名称,然后写入到/etc/apt/sources.list中deb http://archive.ubuntu.com/ubuntu/ groovy universe然后更新源:sudo apt update...
2021-09-04 02:41:39
497
1
原创 NSIS搜索文件夹
!include "FileFunc.nsh"Function .onInit !insertmacro MUI_LANGDLL_DISPLAY ${Locate} "C:\" "/L=D" "FolderPro"FunctionEndFunction FolderPro ${If} $R7 == "Program Files" MessageBox MB_OK '$R7' MessageBox MB_OK '$R8' ${Else} push $0 .
2021-09-02 22:45:32
301
原创 NSIS 查找文件是否存在,并设置安装路径
Var GITFunction .onInit !insertmacro MUI_LANGDLL_DISPLAY StrCpy $GIT "false" MessageBox MB_OK $9 IfFileExists "C:\Program Files\Git\git-cmd.exe" 0 +2 MessageBox MB_OK "Git已安装" StrCpy $INSTDIR "C:\Program Files\Git.
2021-08-27 17:17:24
2332
原创 C++变量未初始的后果
#include <iostream>using namespace std;void dummy(int &a){}int main(){ int i = 2; while (i--) { int a; dummy(a); if (i == 1) { a = 100; } cout << a << endl; cout << &a << endl; } getchar.
2021-08-26 11:48:48
281
转载 二. 简单的NSIS安装包
新建脚本:向导我们先从一个简单的NSIS安装包开始吧,就像前面(NSIS介绍)所说,我们虽然看过用户手册,可要写安装脚本无从下手,那我们的编辑工具HM NIS Edit就派上用场了。打开HM NIS Edit,点击菜单“文件”->“新建脚本:向导”,会有向导一步步让我们输入信息,最后根据我们的输入生成.nsi脚本文件,下面我们一步步演示:新建脚本:脚本文件最后生成的脚本文件我们保存为MyApp.nsi,打开查看脚本(对照着上面截图中设置的项再
2021-08-25 18:51:52
1726
转载 一. NSIS介绍
概述最近需要写一个安装程序,比对了一下现有的安装工具,最后选定了NSIS,最主要的原因一是开源、二是灵活。下面把我的要求简单列举下:1、需要检查系统环境是否满足要求2、需要界面友好的安装过程3、需要一些自定义界面,在安装过程中来获取一些必须的信息4、需要根据界面的选择来执行或跳过一些安装过程5、需要操作数据库6、需要操作IIS7、需要使用PowerShell命令设置AD/Exchange/Lync8、需要操作注册表,用于标识安装步骤以用于卸载或回滚的执行经过调查发
2021-08-25 18:13:51
1140
原创 enable_if
typedef struct{ int a;}TestType;int main(){ enable_if <1, TestType>::type test1; //正确 test1.a = 100; enable_if <is_integral<int>::value, TestType>::type test2; //正确 test1.a = 100; enable_if <0, TestType>::type t.
2021-08-23 09:58:36
135
原创 CMake find_package
find_package(XXX REQUIRED)CMake 会寻找 XXX_Dir的路径查找.cmake文件有两种方式设置1. 命令行模式下,使用-D -DXXX_Dir="路径"2. 界面模式下,使用Add Entry添加XXX_Dir 变量并设置路径
2021-08-18 15:17:51
241
原创 获取进程名称与ID
HANDLE hProceessnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProceessnap == INVALID_HANDLE_VALUE) { printf_s("创建进行快照失败\n"); return -1; } else { PROCESSENTRY32 pe32; pe32.dwSize = sizeof(pe32); BOOL hProcess = Process32Fir...
2021-08-10 08:55:52
316
原创 MFC 窗口置顶
SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);SetWindowPos(NULL, 300, 150, 80, 40, SWP_SHOWWINDOW);
2021-08-09 23:03:09
501
原创 OpenXLSX 中文字段读取问题
在读取excel的时候发现有些中文字段无法读取,通过把excel文件解压后对比发现,正常读取和不能正常读取的中文字段在sharedString.xml中存储的格式有差异,取其中一个字段,如下图:正常读取的不能读取的对比可以看到其区别,然后查找openxlsx对这块的处理,通过调试代码找到代码如下:const char* XLSharedStrings::getString(uint32_t index) const{ auto iter = xmlDocument(.
2021-07-29 15:33:27
1116
原创 顶点缺失问题
1. 发送缓冲区过小,模型过大,接收端接收缓冲区太小,并且接收数据与数据处理在一个线程,导致接收速度过慢。最终造成,发送缓冲区被撑爆,数据丢失。2. U3D端对单个mesh的顶点限制在了65000个。3. 对于超过65000个顶点的mesh,没有计算余数。4. 不同机器不同显卡抓取的顶点数据并不一致,有可能有10%到20%的差距。...
2021-07-09 10:01:59
321
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人