- 博客(73)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 零基础学习OpenGL(三)必修课
很久以前,刷一些基础知识,能应付老板和客户就够了。后来经过一代又一代卷心菜的努力,让选修课变成了必修课。刷吧,生命不死,刷课不止。
2025-03-11 14:06:55
233
原创 零基础学习OpenGL(一)创建一个窗口
将 glfw 生成的头文件与 lib 库和 glad 的头文件放在工程对应位置,然后编译运行即可。获取 glfw 源码到本地,解压并编译。编译遇到问题,直接问。从 glad 下载页生成 glad 头文件和源文件。基于 ubuntu 系统,设置基础环境。注:有需要可以直接去 github 下载。
2025-02-27 23:33:47
232
原创 mediapipe示例运行
1、安装ubuntu18.042、安装环境sudo apt-get install gitsudo apt-get install python3sudo apt-get install python3-pippip3 install numpysudo apt-get install libegl1-mesa-devsudo apt-get install libgles2-mesa-dev3、安装bazel3.7.24、...
2021-11-16 14:58:36
2881
原创 基于Win10+VS2017+OSG3.6.5,使用Qt编写OSG示例
环境依赖1、此demo环境依赖上篇文章:基于Win10+VS2017的OSG3.6.5编译部署,未部署开发环境的请先参照前文进行部署。2、安装Qt编写程序配置运行
2021-07-22 00:31:25
603
原创 基于Win10+VS2017的OSG3.6.5编译部署
编译前工作:1、Windows10系统2、CMake(最新版)3、VS2017(osg官网配套第三方库,最高只能到这个ban'b
2021-06-12 16:35:54
947
3
原创 『人造人』设想
1、背景以前一直被『死亡』所困扰,每个人逃不了的宿命,每每夜深惊醒,总有不甘,或许长生有路,只是还没找到。在成长的过程中,不断的提高个人认知与思维,看到了各个人物对人生的努力,从中不断获取思路。当下理论中,长生路被总结为大方向:机器依赖。即将人体思维寄托于机器,达到长生。对于这个方向,核心领域为脑机接口和人脑系统建设,前者领导者为钢铁侠马斯克,后者还未看到相关研究者。人的认知能力、联想能力和研究能力有限,如果能够创造出一个『人造人』,让其代替人的研究工作,也可以成为一个着力方向。...
2021-04-01 19:02:27
316
原创 零基础学习OpenGL(零)前言
今年35岁,再次到了人生岔路口。就 IT 职业生涯而言,正在面临结束。有一定的迷茫,攒了一点钱,但不多,也不足以养家糊口,更不能在一线城市安家落户。目前 DeepSeek 让很多行业水深火热,尤其是我这种低水平 IT 从业者,犹如站在海边看着巨浪滔天。随缘吧,盲选一下计算机渲染方向,无论挣不挣钱,起码未来工作不再那么痛苦。愿你我都在世界安然前行。
2021-01-22 17:33:35
1241
原创 逻辑猜想:序
十年前,在上高中,还是一名具有纯真思想的少年人。后来见识了一些社会现实,原来生命也是分等级的。至此打破了原有三观,认为社会一片灰暗,自己也化身愤青,用从小受到的爱国主义思想,去抨击这个有病的社会。然而个体是渺小的,置身于世,犹如浮萍。 于是放弃包袱,一身轻松,重新寻找生命的意义。看花、看树、看同学们奔波、看老师们耳提面命,这是一个圈子,从生到死,沿着既定轨迹一路走到尽头。作为生命,这个圈子就是它的全部。 我想跳出圈子,没有手段,只有想法。便离开学校,回家,看着父亲咆哮,母亲哭泣,老师...
2020-09-13 16:33:59
251
原创 根据起始点经纬度、方向、距离,计算目标点经纬度
以为有公式,百度不到,谷歌的看不懂(再次强调英文重要性),咬牙自己算,就当做小学数学题了。#include <iostream>#include <math.h>using namespace std;#define PI 3.14159265358979323846264338327950288static bool status = false;/** 起始点为 A,终点为 B,标出点 C(与 A 点同经度,与 B 点同纬度)* A、B 间空间
2020-09-03 11:14:37
4292
2
原创 VC++ 使用内存泄漏工具 VLD
在有源码的情况下,VS 可以使用此工具,扫描代码中产生泄露的具体行数。对于内存泄漏,一般只处理循环泄漏,对于仅泄漏一次的代码是不用管的。使用方法:一、对于 VS2015 及之前的版本,可以直接下载安装包,安装后,拷贝安装路径中的 .h 文件,lib 文件,dll 文件到工程目录下,配置好后,直接用,如果想生成内存泄漏报告 memory_leak_report.txt,.ini 文件中,ReportTo 设置为 both。下载网址如下图所示:安装完毕,所需文件如下所示:二、对于
2020-08-19 17:30:28
386
转载 VC++拷贝处于占用状态的文件
#include <stdio.h>#include <stdlib.h>#include <Windows.h>#include <string>using namespace std;#define WLEN 256ULONGLONG* GetFileClusters(LPCWSTR lpFileName, ULONG ClusterSize, ULONG* ClCount, ULONG* FileSize){ HANDLE .
2020-08-19 16:17:20
477
原创 MFC对话框标题栏禁止拖拽
背景:原有代码里,点击按钮,弹出一个浮动的对话框,连续多次快速点击标题栏,同时拉动标题栏,此对话框会被拖动,并被改变大小。没做过MFC,于是找度娘求了一上午奶,味道不怎么好,但好歹解决了。。。.h文件afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);LRESULT OnNcHitTest(CPoint point);.cpp文件BEGIN_MESSAGE_MAP(MeetingFullScreenDlg, CDialog
2020-07-01 14:42:52
788
原创 C++/CLI入门系列 第三篇:C#通过C++/CLI,实现C++的回调函数
前言:照例啰嗦一下,心急的可略过。做程序员也好些年了,从iOS强转C++,兜兜转转过来,也有四年了。给后来者一个忠告:如果想要延长自身技术寿命,一定要珍惜时间,好好利用,拼命提升自己技术。因为技术差,多少机会从手中滑过,说多了都是泪。不说了,怎么过都是一生,即便未来失业了,也不代表活不下去。这个时代,不要给自己添加承受不了的重担,选择自己喜欢的,轻装度过这一生。O了,开始搞起!已经2020年了,公司要求用VS2019,所以就用这个版本做演示,大差不差~第一步:打开VS2019,依次创建三个空
2020-06-02 18:02:34
3257
2
原创 问题:C++子类能否访问父类私有成员变量?
在此之前,需要先了解下C++的继承机制。 计算子类对象大小时,也将父类私有成员变量所占大小计算在内,也就是说,子类继承父类时,也将父类私有成员变量继承了过来,只是对子类不可见,不可操作。 可以做一个实验进行检验://FClass.h#pragma onceclass FClass{public: FClass(); virtual ~FC...
2019-11-26 11:25:54
27068
6
原创 vs默认设置代码文件保存为UTF-8
VS这小娘们儿时不时地犯神经,碰到了免不了腹诽一下微软那个产品经理(虽然我很希望和他做同事),比如你加个中文注释,就会因为文件编码保存格式不支持而编译出错。 于是又找度娘求奶,虽然会翻墙,但还是习惯先搜中文答案(我不会承认自己英语不好的)。果然不出所料,千篇一律的说“文件->高级保存选项->保存为UTF-8”,真真讨厌自己英语不好了。。。 哎!重要的事情说一...
2019-11-22 16:43:07
7688
3
转载 初识PID算法
在工控中,PID算是运用比较广泛的算法了。看了一篇老外的博客,感觉不错,记录下来(PS:个人四级没过,翻译的不好,勿喷。附上原文链接,英语好的看原文,不好的就忍受我蹩脚的理解与翻译吧)。 现有一辆无人车,我们要控制它以匀速 5m/s 运动到目标点。初始,小车无法直接从零速蹦到 5m/s,这就需要后期速度补偿,以达成小车全程运动是均速 5m/s。并且事实上,小车达到目的速度以后,本...
2019-11-08 17:35:14
935
1
原创 vs2017使用google开源日志库glog
吭呲了俩小时搞定,这效率真够可以的。扒一堆博客,个个写的都不爽利。预备:vs2017、cmake、glogcmake安装文件去官网找,个人下载的msi文件直接安装的,安装时默认是不添加到环境变量,修改为为所有用户添加到环境变量。本地安装完成后,cmd查看:cmake --version。glog从github下载。glog文件夹下打开cmd,依次命令:cmake .cmak...
2019-10-30 11:35:52
1496
原创 C++代码获取周几
#include <iostream>#include <string>#include <stdlib.h>#include <sstream>int month_to_day(int c){ switch(c) { case 11:c=334;break; case 10:c=304;break...
2019-08-16 16:03:26
2675
原创 linux下C++编程学习
前言(废话,可略过):之前一直在windows下做C++编程,后来换后台工作接触到linux下C++开发。期间磨磨唧唧浪费了很多时间。记录下历程,给后来的小伙伴提个醒,免得浪费宝贵时间。一、关于换系统 如果windows下习惯了快捷键操作系统,尽可能少的使用鼠标,那么,linux就是你的理想。作为C++程序员,不会用linux真的是太糟糕了(很多地方看到这个观点,此处不做辩论...
2018-11-20 14:53:47
21881
12
原创 linux下启动kafka
前记:墨迹了几天,仍是云里雾里。记录下kafka启动过程,适合傻瓜新手,想弄明白原理的请绕到官网查看文档。1、首先下载从github上下载 源码。如果机器上装有Git,直接clone更好,省的再解压。解压命令:tar -zxvf librdkafka-master.tgz2、下载 lib库。然后解压。与源码置于同意文件夹下。两个版本二选一即可。解压命令:tar -zxvf ka...
2018-09-13 16:12:34
41122
1
原创 仅使用键盘操作系统起始。。
作为一个程序员,扔掉鼠标是装x的开始。不过使用众多的快捷键操作电脑也能大大提高工作效率。先添加内容,日后慢慢补更。。一、初始 扔掉鼠标,第一步就是对系统的常用快捷操作了熟于心,其次才是对各个桌面应用本身的快捷操作。 先列举下常用快捷键操作: ctrl c、ctrl v、ctrl alt delete、win e、win +、win -、alt ta...
2018-08-29 16:19:59
700
转载 Epigrams in Programming
Alan J. Perlis, Yale, September 1980 The phenomena surrounding computers are diverse and yield a surprisingly rich base for launching metaphors at individual and group activities. Conversely, classi...
2018-08-01 18:21:01
328
原创 C++/CLI入门系列 第二篇:封装C++ dll库,提供接口给C#调用
看了第一篇感觉没啥用对吧,来点稍微有用的。1、先建个c#工程,依次 file -> new -> project,选择 visula c# -> console application,写工程名,点 ok。2、再建个c++ dll工程。依次 file -> add -> new project。选择 visual -> win32 console a...
2018-05-10 12:24:04
16752
1
原创 C++/CLI入门系列 第一篇:HelloWorld
C++/CLI的发明者看不惯C++,我等小人物不敢窥视大佬们的想法,只需知道应用场景及优缺点就可以了。说不定再过五六十年咱也成大佬了(手动猥琐笑)。。。正题:假定你已经安装了vs、假定你已会某个面向对象语言的第一个程序,无视语法入门、无视编译过程、无视运行过程、无视。。。上代码!HelloWorld,IT界最牛B的一个单词,没有之一,It's your time!1、依次点击 file ->...
2018-05-10 11:12:59
5402
原创 关于C++/CLI的一点小总结
最近在给C++动态库包皮(知识是严肃的,莫笑),给C#的人用。扒了别人的博客,节选一点贴出来,忘了从哪里扒的了,后期慢慢补,先厚颜定为原创吧。声明,总结的部分不是原创。总结:有C#及C++背景的人使用C++/CLI的必备知识:1, C++/CLI里的new等于C++里的new, gcnew等于C#里的new2, 原生指针用*表示,托管引用使用^表示如: Stream^ stream = gcnew...
2018-05-08 15:06:33
2249
9
原创 算法系列之排序(二):选择排序
go on~何为选择(不要吐槽这句话)?我也不懂,只知道怎么做(滑稽,非手动)。选择就是在数组中,挑出最大(小)的数,放在右(左)端,然后在剩下的数中,挑出第二大(小)的数放在上一个挑出数的左(右)端,依次类推。废话结束,上代码(不要问我要Java、OC、Swift、Python、汇编或者PHP之类的语言,我不会!非傲娇脸):#include <stdio.h>int main()...
2018-04-27 16:45:59
209
原创 算法系列之排序(一):冒泡排序
学习有感乏力,开始记录个人一步步学习的东西,先从最基础的开始。。。何为冒泡?就是巴达兽在水底吐出的泡泡(手动笑)。泡泡上升的过程中,类比数组中最小数通过一次次循环逐步往前排。#include <stdio.h>int main(){ int a[10] = {2, 5, 9, 1, 4, 8, 6, 7, 3, 0}; for (int i = 0; i < 10; i...
2018-04-27 16:10:33
210
原创 C#和C++联合调试时的小问题
今天调试代码时碰到一个小问题,编译都通过了,debug时弹出一个框,提示:The debugger does not support debugging managed and native code at the same time on this platform.这是啥?表示蒙B。我对C#不熟,喊来C#的同事过来看下。原来是平台问题。只需要打开C#工程属性页,在build上,将 AnyCpu...
2018-03-27 11:37:27
868
原创 c#调用c++ dll。c++回调c#函数
墨迹了一天,终于弄出来了,记录下。一开始我是这样写的:第一个红方框中代码不注释可执行,第二个不注释执行到第二次循环时提示超出边界。做联合调试一直改不成功,后来将函数接口直接放入回调实现中,可行。改动如下:其中联合调试需要改动c#工程属性,如下所示:...
2018-03-14 15:14:11
769
原创 mysql免安装移植
背景:公司开发一款软件,用到了mysql数据库,想对用户尽量封装mysql操作。打算通过批处理方式直接将数据库移植到用户计算机上。步骤:1、拷贝安装及数据文件夹到用户计算机对应位置我的是C盘根目录下,将Program Files (x86)\MySQL文件夹和ProgramData\MySQL文件夹(该文件夹默认隐藏)拷贝到用户计算机C盘根目录下(如果修改路径,如c盘改d盘,需同时修改.ini配置...
2018-03-01 11:50:04
458
原创 释放队列元素包含的指针指向的区域问题
先看程序:#include #include #include #include using namespace std;bool DESTRUCT = true;struct IMG{ char *img; int size; IMG(){} ~IMG(){ printf("%s", this->img);
2018-02-02 14:05:12
867
原创 第一个回调函数示例工程
先来看一个函数指针用例://cb.htypedef void (__stdcall *CBTest)(int n);void __stdcall ShowNum(int n, CBTest cbTest);//cb.cpp#include "cb.h"#include <stdio.h>void __stdcall ShowNum(int n, CBTest cb...
2018-01-04 14:53:13
269
原创 c++ 无限的生产者消费者
有这样一种情况,要无限的生产,伴随着无限的消费。类似生产者消费者模式。水平太次,一直没有弄出来。后来才恍然大悟,原来答案近在眼前。这是一个演示无限生产消费的例子。没有解释,不是高冷,实在是怕说错,想要学习多线程,请参考morewindows大神的多线程系列。#include #include #include #include #include #include u
2017-12-24 22:57:04
348
原创 error C2143: syntax error : missing ')' before '*'
碰到一个问题,记录下。像这种问题一般会想到程序漏写了什么。。不过有时错误提示的地方是第三方库的cpp文件,这样就是其他问题了。。解决办法(之一,我碰到的):引用第三方库之前,先引用需要引用的头文件。。
2017-11-28 15:47:37
12355
原创 push进队列的C2075错误
碰到了一个问题,记录下。代码如下所示://source.h#include using namespace std;typedef int ARR[500];queue arr;//source.cpp#include "source.h"#include int main(){ ARR _arr; arr.push(_arr
2017-11-27 17:35:43
1363
原创 c++定义结构体队列
最近写概要设计头有点大,写点博客轻松下。。c++队列是一种容器适配器,创建一个线性int型队列如:queue> q;或双向int型队列:queue>;如果是结构体或者类,把int替换掉就行。整个例子看下:#include #include using namespace std;struct MyStruct{ int num;};//c++里,结构体和类几乎等同作用。习惯
2017-10-26 15:02:52
12165
原创 算法系列:约瑟夫环
这是算法里很常规的一个例题。我是这样写的: #include <iostream>using namespace std;typedef struct { int id; int death; _Person *next;} Person;int main(){ int n, m, deathCount = 0; cin &...
2017-10-18 17:29:59
343
转载 像素的存储方法、显式创建Mat对象的七种方法
背景:有一个项目,使用工业相机采集图像,然后进行处理。图像采集出来后需要经opencv转化并由第三方库进行处理。由于相机自带的图像数据结构与opencv的IplImage和Mat都不相同,仅所以需要创建一个Mat对象,来存储相机采集出的像素信息。找到了下面这篇文章。使用方法二。一、像素的存储方法: 存储像素值需要指定颜色空间和数据类型。其中,颜色空间是指针对一个给定的颜色,如何组
2017-10-16 15:39:47
440
tiff-3.8.2-1.exe
2017-09-02
跨平台开发c++调用jar包
2016-04-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人