- 博客(34)
- 资源 (6)
- 收藏
- 关注
原创 命名管道 C++
C++实现fifo_read.c#include <sys/types.h>#include <sys/stat.h>#include <errno.h>#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#define FIFO “/tmp/myfifo1”
2020-05-21 14:53:40
375
原创 GCC编译器编译过程
GCC 编译器在编译一个C语言程序时需要经过以下 4 步:将C语言源程序预处理,生成.i文件。预处理后的.i文件编译成为汇编语言,生成.s文件。将汇编语言文件经过汇编,生成目标文件.o文件。将各个模块的.o文件链接起来生成一个可执行程序文件。常用编译命令选项无选项用法:#gcc test.c作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。选项 -o用法:#gcc test.c -o test作用:将test.c预处理、汇
2020-05-15 11:48:37
988
原创 访问专有gitlab服提示错误:fatal: unable to access ': server certificate verification failed. CAfile: /etc/ssl/
创建个人git,远程push错误:fatal: unable to access ': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
2020-04-27 14:46:38
2938
转载 C/C++串口通信原理及读写与操作
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。在Win32下,可以使...
2018-11-06 18:50:33
1667
转载 SOCKET原理详解
1、什么是socket我们知道进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机网络中我们就学过了tcp/ip协议族,其实使用tcp/ip协议族就能达到我们想要的效果,如下图(图片来源于《tcp/ip协议详解卷一》第一章1.3) 、 ...
2018-11-06 14:54:14
847
转载 Socket通信总结(附C++实现)
文章目录[隐藏]一、Socket是什么 二、一些基本概念 三、java socket建立连接的过程 四、Socket 通信示例 五、建立通信链路 六、服务端代码: 七、客户端代码 测试图例: 因为项目需要,服务端需要一个SOCKET来接收客户端的请求,好吧,没办法度娘哇,结果很多都是linux的例子,功夫不负有心人啊,终于找到个demo,并且客户端代码详尽,记录...
2018-10-30 18:27:30
498
转载 使用c++builder调试代码时总是错过/忽略断点的解决方法
最近刚刚安装了c++builder,将已有的代码进行调试时添加的断点总是不执行,在网上搜了一堆说要转到debug模式下,说根据下面步骤执行即可““C++Builder–>Project–>Option…–>Compiler–>Full Debug”,说的太简单了,根本没找到这样的选项,最后上谷歌搜了一下,呵呵呵呵,完美解决,只需要进行如下设置即可。· [...
2018-05-14 11:51:16
2090
转载 在C++Builder中使用GDI+的流程
在C++Builder中使用GDI+的流程:1、 GDI+主要是通过gdiplus.dll进行调用,而BCB没有直接提供与gdiplus.dll对应的静态链接库,所以需要我们自己建立。如果在自己的计算机没有找到文件gdiplus.dll,可以到微软的官方网站进行下载。然后复制一份到自己的工程目录中,然后使用BCB提供的工具implib生成对应的静态链接库:implib gdiplus.lib...
2018-04-11 14:40:53
1495
转载 循环冗余校验码(CRC)
循环冗余校验码(CRC) 循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移
2017-12-08 16:59:59
1161
转载 Excel VBA 单元格格式
单元格水平 竖向居中 Sheet.Range(“A6”).HorizontalAlignment = = xlCenter ‘= 3单元格水平居中 Sheet.Range(“A6”).VerticalAlignment = xlCenter ‘=2 单元格竖向居中 此属性的值可设为以下常量之一: xlCenterxlDistributedxlJustifyxlLeft设置单元格边框
2017-12-04 11:00:01
3779
转载 Unity 2D 游戏开发 官方视频学习顺序
按照我觉得的观看先后顺序吧:1)Unity 2D 游戏开发官方初学者教程1~15:这个系列第一集是整体介绍,适合先看下,后
2017-11-28 10:50:06
17467
7
转载 文章标题
C++ Builder中串口通讯的经验之谈 转自网址:http://blog.csdn.net/henhen2002/article/details/4485158 经验。(串口部分),相信不少的人都知道在VB中有一个控件MSComm(图标是一个小黄电话),它可以帮你完成普通的串口传输功能(比如字符串什么的,但有的却实现起来比较烦琐), 在BCB中要用VB的控件,我想很多人都知道怎么办,在菜单中
2017-11-15 09:55:14
200
转载 vector按存储的结构体的某一字段排序
include include struct Person { string Name; string Sex; int Age; int High; Person() :Age(0) ,High(0) { } };//定义比较函数 bool CmpAge(const Person& p1,const P
2017-10-20 13:49:38
1060
转载 C++ builder 遍历所有组件的 caption 属性,轻松实现界面多语言支持
//MD5.h ifndef BZF_MD5_Hdefine BZF_MD5_Hinclude include // a small class for calculating MD5 hashes of strings or byte arrays // it is not meant to be fast or secure // // usage: 1) feed it blocks o
2017-10-16 14:09:03
1326
转载 c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:复制代码 代码如下:#include;一、vector 的初始化:可以有五种方式,举例说明如下:(1) vector a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的
2017-09-28 18:07:11
425
转载 跟踪访问冲突Access Violation的位置
Tracking Down the Location of Some AVs 跟踪访问冲突AVs的位置 如果一个AV的起因源自于试图访问没有初始化的类的属性(或方法),在没有多少代码的情况下这是很容易识别的。但另一方面如果有一大堆代码时,或者AV出现在多次重复的循环体中的话,就相当有难度了。幸运的是,(C++Builder内或外的)AV的错误信息是通过窗口显示的。这有助于辨别由
2017-09-15 08:51:27
486
翻译 sqlite 数据重复写入问题
INSERT OR ignore into CbrtOfflinek select * from CbrtOnlinek 将一个表中的数据插入另一个表,如果CbrtOnlinek 中存在CbrtOfflinek 中没有的的数据,则插入。insert or replace:如果不存在就插入,存在就更新insert or ignore:如果不存在就插入,存在就忽略
2017-09-13 17:31:50
1843
转载 C++ Builder打开VCL控件的双缓冲
//打开组件双缓冲,以消除闪烁 //理论上,继承自TWinControl的控件都应该打开双缓冲,以下并没有全部列出 //根据具体用到的窗口控件打开双缓冲__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){ this->DoubleBuffered=true; //开启Form
2017-09-04 16:14:16
528
转载 一个比较完整的Inno Setup 安装脚本
一个比较完整的Inno Setup 安装脚本一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了。[Setup]; 注: AppId的值为单独标识该应用程序。; 不要为其他安装程序使用相同的AppId值。; (生成新的GUID,点击 工具|在IDE中生成GUID。)AppId={{A9861883-31
2017-08-25 15:38:24
1246
转载 C++ vector用法
C++ vector用法在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator i
2017-08-10 09:27:49
176
转载 C++实现BASE64码编解码
原文:http://blog.csdn.net/chenxiaohua/archive/2009/04/16/4084602.aspx #ifndef ___BASE64_H___#define ___BASE64_H___#include using namespace std;class CBase64{public: CB
2017-06-18 14:54:20
6705
转载 C++引用详解
C++引用详解 引用的概念引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名; 如下:定义引用ra,它是变量a的引用,即别名。 int a; int &ra=a; (1)&在此不是求地址运算符,而是起标识作用。 (2)类型标识符是指目标变量的类型。 (3)
2017-06-15 18:37:51
317
转载 C++ char*与String
1、char * -> Stringchar *cp="123456";String str=StrPas(cp);2、String -> char *最稳妥,最标准的做法:String str="123456";int len=str.Length();char *cp=new char[len+1];StrPCopy(cp, str);不
2017-06-15 17:00:53
496
转载 关于Excel的对象、方法和属性
要在应用程序中控制Excel的运行,首先必须在编制自动化客户程序时包含Comobj.hpp #include "Comobj.hpp " C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用。 设置对象属性:Variant OlePropertySet(属性
2017-06-01 16:20:54
6091
转载 RAD Studio 10 自带Demo代码汇总说明
大家好,好多朋友来信咨询Delphi和C++Builder的移动开发、DataSnap架构等问题,希望能有Demo代码学习。其实Delphi和C++Builder本身自带有很多示例代码,已经覆盖了大部分Delphi和C++Builder开发工具的特性和技术。对于开发各种特定的应用,还是需要去在特定方向钻研该方面的技术的,不要指望一套Demo代码就可以代替自己的学习。为了方便各位 Delphi
2017-05-25 17:00:47
1093
转载 C++ 获取所有USB设备 列举所有USB设备 列举所有USB HUB
C++ 获取所有USB设备 列举所有USB设备 列举所有USB HUB,有需要的朋友可以参考下。最近在开发USB相关的内容,在此记录一下列举USB设备的代码(还可以列举USB HUB)。由于直接使用系统定义的GUID有问题,所以在头文件中自己需要定义相关的GUID:头文件代码如下(定义了USB DEVICE 和 USB HUB两种的GUID,如果其他请看msdn):
2017-05-24 11:31:43
5365
2
转载 硬件检测:安装、停用
简介现在对于IT的安全来说,热插拨设备是个很大的威胁。在这篇文章中,我将试着开发一个用户应用程序来检测本机系统上的设备改变。例如:插入一个USB设备、Ipod、USB无线网卡等等。这个程序同样也可以停用任何支持插拔的设备。在文章的后面,我会简述一下程序的工作原理和它的局限性。怎么来检测硬件设备的改变?事实上,Windows操作系统会对上层程序发送WM_DEVICECHANGE消息来通知
2017-05-22 15:13:11
296
转载 c++builder 重载WindowProc、WndProc 截获消息(比Delphi多一个Message Map方法)
c++builder 重载WindowProc、WndProc 截获消息 方法一WindowProcvoid __fastcall myWindowProc(Messages::TMessage &msg); //增加Classes::TWndMethod OldWindowProc; //增加 void __fastcall TForm1::myWindowProc(M
2017-05-22 14:51:43
1365
翻译 重载WndProc函数
窗体重载WndProc函数,一般是为拦截指定的消息,但是对于其他的消息,需要有默认处理的过程,也就是需要在函数中调用父类的WndProc函数,将代码改成类似:void __fastcall TForm1::WndProc(TMessage &Msg){ if (Msg.Msg == WM_DEVICECHANGE) { if ((Msg.WParam == DBT_DEVICEARR
2017-05-22 13:56:48
1422
转载 C++builder 消息的运用
一、TApplication的OnMessage事件OnMessage事件只处理消息队列中的消息,SendMessage()发送的消息不会被截获。任何窗体接收到一个windows消息,都会触发一次此事件函数原型:typedef void __fastcall (__closure *TMessageEvent) (tagMSG &Msg,bool &Handled);Msg表示
2017-05-22 11:30:42
365
转载 VC++串口通信编程详解
VC++串口通信编程详解转载地址:http://www.jizhuomi.com/software/309.html在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能
2017-05-19 09:44:00
849
转载 Form窗体添加背景图片
paip.提升用户体验-------在C++ Builder 中为Form窗体添加背景图片paip.在C++ Builder 中为Form窗体添加背景图片Form窗体添加背景图片,一般好几种方法:1.设置法.但是有些gui库没有提供.2.image法,不个image放的个最底下.3.窗体paint事件.重绘.vcl好像没设置窗体背景,只好paint,三,按道理是pa
2017-05-18 17:14:16
9666
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人