- 博客(21)
- 收藏
- 关注
原创 linux下pthread占用内存问题
linux下默认的pthread县城内存跟系统设置相关,默认8M,在内存较小的设备上极其耗费资源,所以创建线程需要设置堆栈大小减小内存消耗。
2025-02-22 17:02:43
413
原创 函数入参过多产生影响
gcc编译器(gcc9),在x64环境下。函数调用时,前6个参数通过寄存器传递,超过6个后面的参数通过堆栈传递。而寄存器传递参数比堆栈传递效率高,所以建议函数参数不要超过6个。在某一平台下无问题,移植到麒麟系统下后出现bus error.将多个参数封装在一个结构体中,传递进结构体指针解决问题。最近在项目中使用入参较多的函数(9个入参),
2023-08-22 22:58:07
412
1
原创 c编程禁忌
2.要仔细比对函数的参数,snprintf使用sprintf的参数竟然不报错。但是后续就够折腾人了。1.永远不要把全局变量放在头文件中。
2023-03-13 23:52:02
157
原创 VMWare共享文件夹
VMWare共享文件夹失效解决解决sudo vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other
2022-04-30 10:23:14
1195
原创 osg地形以及tms高程切片的cmd命令
1.osg地形.\osgdem.exe -t D:\osg-osgearth\dem\img.tif -d D:\osg-osgearth\dem\ASTGTM_N30E103Y.tif --geocentric -o D:\osg-osgearth\dem\dixing.ive -ge startLon startLat lonDis latDis-t 影像图片;-d 高程图片;–geocentric 指定坐标系(后续在osg使用可以直接添加地形,不需要加载矩阵中设置位置经纬度;例如:root-&g
2021-12-27 15:19:42
2012
原创 QString转换成char
QString转换成char* //test QString str = QString::fromLocal8Bit("断舍离"); QByteArray ba = str.toLocal8Bit(); char* ch = ba.data();
2021-10-15 22:27:51
548
原创 osgEarth的中文乱码问题解决
osgEarth的中文乱码问题解决1.osg解决方法:osgDB自带一个转换函数std::string beiJingStr = "北京";std::string str = osgDB::convertStringFromCurrentCodePageToUTF8(beiJingStr);2.qt解决方法:qt中可以使用QString::fromLocal8Bit或者QStringLiteralQString beiJingStr = QString::fromLocal8Bit("北京"
2021-08-25 23:17:40
1292
原创 使用nginxd搭建本地http服务器
使用nginxd搭建本地http服务器下载安装nginx的安装包nginx安装包提取码:yyds2. ## 文件介绍nginx-1.17.6.zip:ngix安装包的压缩包WinSW.NET4.exe:一个解决nginx开机自启的github开源服务3.具体使用下载到本地,解压nginx-1.17.6.zip:基本配置:进入conf文件夹,打开nginx.conf,如下:修改36行的listen端口:不修改默认是80,有可能占用 ;修改44行的路径:为你要创建http
2021-08-17 22:34:28
437
原创 OSGEarth节点数据组织的重要性
问题近期项目中遇到了一个问题,我在使用mapnode的matrixtransform调用回调完成地球自转的过程中,发现显示的地球转动的很诡异。如下解决重新梳理了节点数据组织如上图,发现问题解决。
2021-07-17 15:09:25
376
1
原创 osgEarth嵌入qt的实现方式
问题最近开发项目遇到了将OSGEARTH嵌入到qt的需求,这里记录一下,供后续回顾。环境VS2019+QT5.9.8+OSG3.6.5+OSGEARTH3.1前提(1)已经编译好了OSG以及OSGEARTH的运行时库(2)关键的osgqt的3个类(osgqt太难编译了,这里提取它的3个类直接引进我们的工程),附在文章最后。新建工程建立QTGUI工程,关键点:模块选择OPENGL工程配置(1)添加osgqt的三个类(2)工程属性配置主要包括VC++目录下的可执行文件目录、包含目
2021-07-09 17:26:01
10587
30
原创 VS2019查看程序的依赖项
问题最近遇到了需要打包程序的需求,这就需要考虑用户电脑没有程序相关运行环境依然可任意运行。解决方法打开用VS的dumpbin命令可以查看目标程序许的dll依赖项打开 开始->所有程序->Developer PowerShell for VS 2019。比如查看路径为C:\Users\DELL\Desktop\DigitalEarth\DigtalEarth.exe的程序DigtalEarth.exe程序依赖哪些dll文件,可用如下命令dumpbin /dependents C:\U
2021-07-03 18:31:27
3647
2
原创 vs内存泄漏定位
问题最近在开发项目的过程中,遇到了内存暴涨,最后出现“std::bad_alloc”。苦于不能定位内存泄漏的位置,使用了 Visual Leak Detector,终于找到了内存泄漏的位置。操作方法先在到地址http://vld.codeplex.com/下载vld安装文件,然后进行安装,安装过程中需要安装程序会配置环境变量。我们需要记住安装目录。安装完成后打开要检测的Visual Studio工程,我们需要在工程中配置:vld头文件目录和vld库目录。选中游戏工程,打开菜单“项目”→ “属性”弹
2021-06-22 18:46:06
537
原创 osgEarth绘制曲线
问题在使用osgearth2.10绘制曲线的过程中,绘制的曲线一直显示不了。解决最终发现是osgearth版本的原因,本人使用的是osgearth2.10版本,需要添加如下代码://osgearth画线测试 osgearth2.10后要添加这一行代码 不然featurenode不可用 osgEarth::GLUtils::setGlobalDefaults(viewer->getCamera()->getOrCreateStateSet());测试代码void osgDigit
2021-05-19 11:38:26
2746
原创 OSG实时渲染星空
void osgDigitalEarth::sky_init(){ //获取当前时间 初始化天空 time_t now_time=time(0); tm* t_tm=localtime(&now_time); t_tm->tm_hour-=6; if(t_tm->tm_hour<0) { t_tm->tm_hour+=24; } osgEarth::DateTime cur_date_time(1900+t_tm->tm_year,1+t_tm-&
2021-05-18 17:10:30
630
原创 OSG设置自定义几何体透明
osg设置自定义几何体透明:设置颜色数组前3 个参数设置颜色,第四个参数为透明度,0-1透明度越来越小。设置geode的属性:GL_BLEND:混合渲染,把同一位置的前一个像素和后一个像素进行叠加后显示.所以透明渲染会影响渲染速度osg::ref_ptr<osg::Geode> cubeGeode=new osg::Geode();cubeGeode->setColor(new::Vec4d(1.0f,1.0f,1.0f,0.25f));cubeGeode->getOr
2021-05-18 10:45:55
1127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人