- 博客(172)
- 资源 (7)
- 收藏
- 关注
原创 ASM汇编语言环境安装
windows xp是带console的debug的。windows 7及以上的系统是没有的。我下载了dosbox和masm 5来仿真16位dos环境。以前是学习过8位单片机的,忘记的差不多了。现在需要使用64位的汇编语言,准备重新学习。32位的编程开发环境比较多,如masm32 sdk、sasm、tasm等等。16位汇编语言好经典,32/64位新了点,8位太老了。这个软件不错,可以调试64位的汇编语言,寄存器也可以实时查看。
2023-07-06 21:53:46 306
原创 gcc nasm ld windows x64汇编语言hello world
windows平台下使用msys2 gcc nasm ld 指令实现x64汇编语言hello world
2023-05-21 16:48:46 339 1
原创 vscode cmake gcc wx win32 gui application or console
cmake的使用,去除console窗口,编译gui application
2023-02-24 23:12:09 289
原创 25个C++ API设计错误和避免方法
软件工程,就像建房子一样,包括规划、调研、计划、需求、调查、团队、分工、材料、框架、装饰、人力、资金、周期、后期使用、保养、维护、退出、更新、风险、质量、测试、漏洞、文档、稳定性、性能、品牌等等。设计一个软件,不是一个人的活。做好一个软件,是一件难事。一步一步,管理好各方面因素,方可完成。来源于April 24, 2019//byDeb Haldar//12 CommentsTop 25 C++ API design mistakes and how to avoid themht...
2022-03-20 15:04:20 1777
原创 YOLOv4
You Only Look Once一见钟情相关网址darknet入门—yolov3目标检测(安装、编译、实现) - 知乎Survival Strategies for the Robot Rebellionwindows下darknet之YOLO3安装 - 知乎The Ancient Secrets of Computer Vision - An Introduction to Computer VisionGitHub - AlexeyAB/darknet: YOLOv4 / Scale
2021-09-20 08:34:04 157
原创 Denso号查找算法
Denso有个软件比较难的,只有写个程序找一下:使用软件如下:代码如下:counter = 811220Rem StartTracePrint "-----" MoveTo 973, 409 '输入框LeftClick 1 KeyPress "BackSpace", 20 K1C = 0'0 -> 48K2C = 0'0 -> 48K3C = 0'0 -> 48K4C = 0'0 -> 48 K1C = counter mod.
2021-08-26 19:22:37 180
原创 process通过cmd.exe调用程序外应用
在做松山湖某个大型通讯公司的数据上传程序时,他们通过已经写好的数据上传exe程序来完成数据上传的。假如叫 h.exe在控制台上执行以下命令就可以完成数据上传h.exe http://server sn sn.xml result.txt代码如下:/* * Created by SharpDevelop. * User: PC1073 * Date: 2021/8/24 * Time: 20:56 * * To change this template use...
2021-08-24 21:26:55 307
原创 XML文件格式
XML 是支持UTF8的unicode编码的,在windows 系统中注意保存和读取文件时是否要带或者不带bom表。在和松山湖某大型通信公司设备数据系统通讯上传XML文件数据时,流程如下:1.读XML模板文件2.修改相应数据3.另存新的XML产品文件4.上传文件其中,用C#读写文件,默认是带bom的,而数据系统是用不带bom ,所以用StreamReader StreamWriter可以进行相应的读取,保持bom属性一致。多谢,亲爱的美美。...
2021-08-24 02:58:39 601 2
原创 ACE_TAO 017 ACE_wrappers\examples\Reactor
看一个开源项目,示例代码是最直接的教程了。ACE的Reactor代码如下图所示:打开READMEThis directory contains subdirectories that test the ACE Reactor and Proactor . Dgram Tests the CODgram and Dgram classes with the Reactor. . Misc Various miscellaneous tests of Reacto.
2021-08-22 07:17:03 221
原创 ACE_TAO 016 USE_SELECT和ACE_USE_POLL
看一段代码,在Event_Handler.h中#if defined (ACE_USE_POLL) READ_MASK = POLLIN, WRITE_MASK = POLLOUT, EXCEPT_MASK = POLLPRI,#else /* USE SELECT */ READ_MASK = (1 << 0), WRITE_MASK = (1 << 1), EXCEPT_MASK = (1 << 2),sel
2021-08-21 17:08:40 127
原创 ACE_TAO 015 Double-checked locking
对于Double-checked锁优化模式,在日常并发程序开发中常用的临界区保护模式,它还常常出在在ACE的框架中。将Double-checked锁优化模式应用于全局变量的初始化,既可以避免不必要的同步,又可以保护临界区的安全,可谓是一举两得。参考https://blog.csdn.net/en_joker/article/details/84761611并发:双重检查锁定(Double-Checked Locking)与延迟初始化(Lazy Initializationhttps://b
2021-08-21 09:38:21 94
原创 ACE_TAO 014 ACE_Event_Handler
ACE_Event_Handler接口是Reactor框架的事件处理器接口,它为应用程序的事件处理提供模板函数。它是框架五元素中的元素2。在示例ACE_TAO 008 Reactor基本原理与说明中,实际上Handle_data类和Acceptor类都是框架五元素中的元素3。ACE_Event_Handler接口的定义如下:/* -*- C++ -*- *///=====================================================================
2021-08-21 09:19:28 278
原创 ACE_TAO 013 ACE_NEW_RETURN
在文章ACE_TAO 008 Reactor基本原理与说明中使用了ACE_NEW_RETURN来新建对象类,还有ACE_NEW和ACE_NEW_NORETURN等等,定义都在OS_Memory.h中,代码如下:# if defined (ACE_HAS_NEW_NOTHROW)# define ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) \ do { POINTER = new (ACE_nothrow) CONSTRUCTOR; \
2021-08-21 08:40:27 118
原创 ACE_TAO 012 外观模式(Facade设计模式)
外观模式是一种非常简单的模式,简单到我们经常都会使用,比如对于类A和B,如果两者需要交互,经过一定的处理过程才能实现某一个具体的功能,那么我们就可以将这个处理的过程定义为一个新的类,然后在这个类的里面将类A和B的处理步骤整合在一起,对于外界我们只暴露新的类中的这个接口,这样代码的复用性就非常的好,可以将这些代码作为组件去让其他程序去使用,这在开发之中是非常常见的。https://www.cnblogs.com/zyrblog/p/9246438.htmlhttps://blog.csdn.ne
2021-08-19 07:22:42 107
原创 ACE_TAO 011 工厂模式(Factory设计模式)
工厂就是生产产品的,根据产品是具体产品还是工厂可以分为简单工厂模式和工厂方法模式,根据工厂的抽象程序可以分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。1。简单工厂模式2。工厂方法模式3。抽象工厂模式...
2021-08-19 07:13:26 400
原创 ACE_TAO 010 单例模式(Singleton设计模式)
单例模式的核心是一个类在其整个生命周期中只有一个实例对象。目的:想要确保任何情况下都绝对只有1个实例,需要程序表现上“只存在一个实例”注意:这个模式在多线程下面使用的时候可能会线程不安全产生多个实例,使用的时候需要特别小心。https://blog.csdn.net/kangsa998/article/details/90721046https://www.cnblogs.com/myfaith-feng/p/12874868.htmlMain.java运行结果:
2021-08-18 22:15:22 179
原创 ACE_TAO 009 桥接模式(Bridge设计模式)
软件设计模式有好多种,很多时候都会出现了重叠,要分清一个概念,模式并不是完全隔离和独立的,有的模式内部其实用到了其他模式的技术,但是又有自己的创新点,如果一味地认为每个模式都是独一无二,与其他模式完全区别的,这是一种误区,因此,看到了基础概念知识的重要性。从不同的角度都有各自的共同性,比如从人的角度,每个人都是不同的,可若是从原子和分子的角度,每个人又是相同的,那到底是相同的还是不同,取决于我们看到问题的角度。因此我们要学会求同辩异!桥接模式是一种将类的功能层次和实现层次分离的技术,所谓类的功能层次指的是类
2021-08-18 21:42:56 205
原创 ACE_TAO 008 Reactor基本原理与说明
Reactor框架是ACE各个框架中最基础的一个框架,其他框架或多或少用到了Reactor框架。本文先分析Reactor构架模式的基本原理,然后利用ACE Reactor框架实现服务器程序,最后分析Reactor框架的实现。Reactor框架支持的事件类型包括IO事件、信号量事件、定时器事件和Notify事件。示例应用属于IO事件,所以先从IO事件开始分析。下面从意图、上下文、问题、解决方案、结构和实现6个方面的内容来分析。1。意图在事件驱动的应用中,将一个或多个客户的服务请求分离(demu
2021-08-15 23:25:00 367 1
原创 ACE_TAO 007 客户端重连
ACE SOCK Wrapper facader用ACE SOCK封装来做一个简单的socket server。代码如下:int run_main(int argc, ACE_TCHAR *argv[]){ //初始化服务端Socket侦听地址 ACE_INET_Addr port_to_listen(60000); ACE_SOCK_Acceptor acceptor; //调用Open函数对acceptor对象进行初始化,创建侦听的Socket .
2021-08-13 07:00:10 177
原创 ACE_TAO 006 做一个简单的TCP服务器
Qt中应用ACE其实也是好简单的,下面就做一个简单的创建Tcp服务器的例子:main.cpp函数如下:#include "qaceapplication.h"#include "mainwindow.h"#include "ace/OS_main.h"int ACE_TMAIN (int argc, ACE_TCHAR *argv[]){ QACEApplication app(argc, argv); MainWindow w; app.connect(&am
2021-08-04 20:26:06 562
原创 ACE_TAO 005 console网络端口基本操作
网络端口console基本操作1。查看所有的端口netstat -ano2。查看端口的状态netstat -ano|findstr "5931"3。查看使用端口的程序tasklist|findstr "5931"通过上述命令可以知道端口的使用情况,在win的网络开发上有一定的用处。多谢,亲爱的美美。...
2021-07-27 18:38:37 199
原创 ACE_TAO 004 ACE_MAIN
网络上的确也有一些好方法,但是最重要还是一步一步来。ACE要用,一一定要初始化ACE,这步非常重要。intACE_TMAIN (int argc, ACE_TCHAR *argv[]){ return run_main (argc, argv);}这其实是最基础的,好多库都是要这样的,就像用到的硬件一样,要初始化。pro文件如下:QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widget.
2021-07-27 01:04:22 195
原创 ACE_TAO 003 Qt5的winsock2测试例子
在ACEReactor_test中,winsock2编写的通讯一直报错,所以我从网上找一个winsock2的例子,也在QtCreator中编译运行,是可以的,代码如下:#include <QCoreApplication>#include <QDebug>#include <winsock2.h>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); //1,W
2021-07-26 23:50:14 446 3
原创 ACE_TAO 002 QtReactor
ace有自己的main入口,所以用在qt上有点奇怪。因为qt本身也有main。怎么处理呢?ace例子中有一个ACE_qt5reactor例子,用到了ace_qt5reactor,所以单独编译一下这个。(也试过用MPC,MakeProjectCreator构建工具,perl的脚本来做,但是也是不成功,算了)自己建一个dll工程,修改一下,生成需要的库之后,就可以做QtReactor_Test了,但是一直报错。ACE WSA Startup not in...
2021-07-26 22:16:56 237
原创 ACE_TAO 001 编译与安装
ACETheADAPTIVECommunicationEnvironmenthttps://download.dre.vanderbilt.edu/http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#mingwhttps://download.dre.vanderbilt.edu/The latest micro release is ACE 7.0.2 and TAO 3.0.2 (ACE+TA
2021-07-13 23:04:15 858
原创 Npgsql使用1
PostgreSQL是开源数据库,在CSharp中用可以用Npgsql库来调用,是基于ADO.NET统一接口的,方便使用。首先,下载一个src,mq我用到是npgsql-3.1.10
2021-06-14 11:18:13 3133 3
原创 CSharp调用c++的标定库DLL方式
标定等算法应该要注意保密和不被随意修改,所以用C++写标定库算法,再打包成DLL给CSharp用是一种比较好的方法。--------------------------------------------------------------------------------------------参考---------DllImport使用详解https://blog.csdn.net/cyj380236628/article/details/49825007C#调用DLL各种
2021-03-15 23:03:11 867 1
原创 CLR不用了
公共语言运行库公共语言运行库 (common language runtime,CLR) 是托管代码执行核心中的引擎。运行库为托管代码提供各种服务,如跨语言集成、代码访问安全性、对象生存期管理、调试和分析支持。它是整个.NET框架的核心,它为.NET应用程序提供了一个托管的代码执行环境。它实际上是驻留在内存里的一段代理代码,负责应用程序在整个执行期间的代码管理工作。组成元素及其功能编辑(1)类加载器:管理元数据,加载和在内存中布局类;(2)Micorsoft 中间语言(MSIL)
2021-03-10 23:11:58 104 2
原创 MathNet矩阵分解
矩阵分解是解线性方程组的一个方法,比较容易。有LU,QR,SVD等等方法。在c#中用MathNet操作起来也是比较简单。https://blog.csdn.net/c914620529/article/details/50393223/https://www.cnblogs.com/asxinyu/p/4285245.html程序如下:using System;using System.Collections.Generic;using System.Linq;using Sys
2021-03-08 23:17:34 603
原创 高斯消去法解方程组
高斯消元是一种比较简单的解方程组方法,修正能力不是物别强。一种代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace zblGauss1{ class Program { static void Main(string[] args)
2021-03-08 02:00:56 3422
原创 在QOpenGLWidget类用QPainter写下Hello World
在myOpenGLWidget中添加 void paintGL();重载函数。修改一下void paintGL函数,用QPainter画上文字:void myOpenGLwindow::paintGL(){ glDisable(GL_DEPTH_TEST); QPainter painter; painter.begin(this); QPen pen; pen.setColor(Qt::red); painter.setPen(pen);
2021-02-12 03:07:13 1554
原创 QOpenGLWidget类
QOpenGLWidget是代替QGLWidget的,尽量用这个。https://doc.qt.io/qt-5/qopenglwidget.htmlDetailed DescriptionQOpenGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use: Make your class inherit fro
2021-02-12 02:59:03 325 1
原创 NeHe-OpenGL-Qt5-Lesson13-注释与学习-BitmapFonts
字体是一个好重要的内容,在三维中一样。记得方正靠字体挣了不少的钱,当然我们用户是不是特别清楚的。开源的字体解释库中freetype是比较出名的,OpenCV中也有用到这个库来作为字体解释用。如果我们要打中文等unicode字体,用freetype解释再渲染就行了。在.pro中添加freetype库:转换代码:fontwindow.h#ifndef FONTWINDOW_H#define FONTWINDOW_H#include <QOpenGLShaderPro
2021-02-12 02:36:43 258
原创 NeHe-OpenGL-Qt5-Lesson12-注释与学习-DisplayLists
可以一次生成多个相似的物体。运行结果:代码:texturemappingwindow.h#ifndef TEXTUREMAPPINGWINDOW_H#define TEXTUREMAPPINGWINDOW_H#include "openglwindow.h"#include <QOpenGLShaderProgram>class TextureMappingWindow : public OpenGLWindow{ Q_OBJECTpublic:
2021-02-12 02:29:35 167
原创 NeHe-OpenGL-Qt5-Lesson11-注释与学习-WavingTextureMap
通过更改顶点坐标和纹理坐标来形成随风飘扬的效果。主要代码:for(int x = 0; x < 44; x++ ) { for(int y = 0; y < 44; y++ ) { float_x = float(x)/44.0f; float_y = float(y)/44.0f; float_xb = float(x+1)/44.0f; flo
2021-02-12 02:24:23 170 1
原创 NeHe-OpenGL-Qt5-Lesson10-注释与学习-LoadingWorld
使用了全局贴图。还可以上下左右移动camera,一个比较完整的小项目了。运行结果:多谢,亲爱的美美。
2021-02-12 02:03:12 151
NeHe-OpenGL-Qt5-Lesson02_CreatePolygon_islinyoubiao.zip
2021-02-11
NeHe-OpenGl-Qt5-Lesson01_CreateWindow_islinyoubiao.zip
2021-02-11
Qt5_OpenCV_001.zip
2021-02-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人