c++
文章平均质量分 63
q472599451
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++发送邮件和附件
头文件[cpp] view plaincopy/*********************************************************************** *发送邮件模块头文件 *可以发送文本和附件(支持多个附件一起发送) ****************************************转载 2013-07-10 18:50:16 · 3637 阅读 · 1 评论 -
TCP 编程。
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM)TCP,数据报套接字UDP(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2原创 2013-03-06 21:57:32 · 539 阅读 · 0 评论 -
udp dll编程中遇到一个问题
今天在改一个win32的程序,其中调用了CSOCKET,按以下方法改动项目1、工程设置中,将MFC的使用由原来的“使用标准windows库”改为“在共享DLL中使用MFC”如果是英文版,相关选项是:Microsoft Foundation Classes: Use MFC in a shared dll, no using MFC2、头文件包含不同的MFC类原创 2013-01-28 23:13:51 · 760 阅读 · 0 评论 -
dp sp px
看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度转载 2012-10-11 09:27:57 · 844 阅读 · 0 评论 -
安装mplayer
MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流操作系统使用,例如Linux和其他类Unix系统、Windows及Mac OS X系统。MPlayer建基于命令行界面,在各操作系统也可选择安装不同的图形界面。mplayer的另一个大的特色是广泛的输出设备支持。它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、DirectFB原创 2016-06-10 12:45:06 · 1619 阅读 · 0 评论 -
操作系统 进程,线程,协程的区别。
进程,线程,协程的区别原创 2023-01-13 11:18:54 · 710 阅读 · 0 评论 -
GDB教程
gdb 使用详细教程gcc gdb-sample.c -o gdb-sample -g在上面的命令行中,使用 -o 参数指定了编译生成的可执行文件名为 gdb-sample,使用参数 -g 表示将源代码信息编译到可执行文件中。如果不使用参数 -g,会给后面的GDB调试造成不便。当然,原创 2023-01-13 08:51:38 · 603 阅读 · 1 评论 -
C++的四种类型转换: static_cast const_cast reinterpret_cast dynamic_cast
本人之前一直使用C语言的类型强制转换,最近写C++代码比较多。在github上看到其他人的代码并没有使用C语言的类型转换,了解到C语言的类型转换在C++中是不安全的。所以整理了一下C++的四种类型转换关键字的用法。...原创 2022-08-28 18:26:37 · 186 阅读 · 0 评论 -
C++ 原子操作(atomic)
1、atomic概述所谓原子操作,就是多线程程序中“最小的且不可并行化的”操作。对于在多个线程间共享的一个资源而言,这意味着同一时刻,多个线程中有且仅有一个线程在对这个资源进行操作,即互斥访问。C++ 11 新增atomic可以实现原子操作2、非原子操作#include <thread>#include <atomic>#include <iostream>using namespace std;int i = 0;const int maxCnt转载 2022-05-26 08:46:10 · 8543 阅读 · 0 评论 -
ibeacon UWB GPS 空间四点定位算法
最近在研究uwb空间四点的精准定位,其实是基于RSSI原理的,蓝牙IBEACON,GPS也差不多基于这个原理三维空间的四点定位算法:已知四个基站点的坐标(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)和到未知点(x,y,z)的距离R1,R2,R3,R4所以四点定位使用矩阵求解方程的方式:其中要求的点的坐标是(x,y,z),已知的四个探针的位置为(...原创 2019-06-11 13:20:37 · 12407 阅读 · 5 评论 -
linux模拟键盘
#include #include #include #include #include #include #include /* struct input_event { struct timeval time; __u16 type; __u16 code; __s32 valu转载 2017-02-28 09:40:40 · 825 阅读 · 0 评论 -
游戏光枪坐标定位原理及算法
我是做游乐行业的,要研发一款射击游戏机。现在要研发一款光枪,网上能找到的光枪大部分资料都是第一代的游戏机上面用的,用的还是有家里的老式电视机,加上霸王学习机,玩的射击游戏。我们研究是新的光枪好嘛。新型光枪是主要是有两种,一种是WII光枪,原理是红外感应条,加6自由度加速度的传感器。这种是相对位置,每次都要校准,体验感比较差。另一种是摄像头加红外光点来定位。就是摄原创 2016-06-14 10:46:34 · 4579 阅读 · 7 评论 -
怎样用正则表达式匹配IPV4地址
写论文写累了,忽然想起以前面试时的一道题:怎样用正则表达式匹配IPV4地址?在网上找到两篇很好的英文文章,把相关内容翻译综合一下,与诸君共享。原文链接:http://blogs.msdn.com/b/oldnewthing/archive/2006/05/22/603788.aspxhttp://answers.oreilly.com/topic/318-how-to-match-ip原创 2012-11-29 10:35:03 · 32567 阅读 · 1 评论 -
#define、const和enum
#define、const还是enum转载自:http://blog.youkuaiyun.com/norains/archive/2009/07/21/4366530.aspx #define,const,enum:这三者有何关联?一个是宏定义,一个是静态修饰符,最后一个还是枚举类型。是不是有点像养麦皮打浆糊——粘不到一 起?如果我们将范围缩小再缩小,让三者都只局限于“固定值”原创 2013-01-11 15:09:55 · 544 阅读 · 0 评论 -
CString——Left、Right、Find、ReverseFind
CString——Left、Right、Find、ReverseFindCString::Left(intnCount)——返回字符串前nCount个字符的字符串example: CString str(_T("Shop,车间")); str = str.Left(4);结果:str="Shop"; CString::Right(int nCount)——返转载 2013-01-15 12:13:36 · 1789 阅读 · 0 评论 -
防止进程重复运行
CreateMutex( NULL, TRUE, "client" ); if ( GetLastError() == ERROR_ALREADY_EXISTS ) { Application->MessageBoxA( "程序已运行", "错误", MB_OK ); Application->Term转载 2012-11-29 10:21:34 · 434 阅读 · 0 评论 -
在长字符串中提取IP地址
void getHostIP(char* hostIP,const char* sourceStr){ char nbuf[4]; int sn[4]; int i,ret,start,n,m; int runnum=0; start = 0; while (1) { runnum++; //第一个数大于255的情况 if (runnum转载 2012-11-29 10:24:41 · 3275 阅读 · 0 评论 -
串口编程
类库文件:cncomm.h。下面是简单应用的笔记:发送数据:write读数据:read打开串口:open //!串口发送数据void CCncomm_zDlg::OnOK(){ // TODO: Add extra validation here CString strSend; m_strSend.GetWindowText(strSend); c原创 2012-12-11 16:27:41 · 614 阅读 · 0 评论 -
获取windows系统时间
获取系统时间,这个方法比较简单SYTimeEMTIME Time={0};GetLocalTime(&Time);//获得当前本地时间GetSyTimeemTime(&Time);//这一个是获得格林威治时间,一般不用SYTimeEMTIME结构说明typedef struct _SYSTEMTIME { WORD wYear; //年 WORD原创 2013-01-18 16:48:35 · 4642 阅读 · 0 评论 -
dll 计时器
方法一:SetTimer(NULL, 0, 1000, (TIMERPROC)Timer2Proc);VOID CALLBACK Timer2Proc(HWND hWnd, // handle of window for timer messagesUINT uMsg, // WM_TIMER messageUINT idEvent, // timer identifier原创 2013-01-22 10:40:13 · 862 阅读 · 0 评论 -
获取GetOpenFileName多选文件名
OPENFILENAME ofn; TCHAR szOpenFileNames[80*MAX_PATH]; TCHAR szPath[MAX_PATH]; TCHAR szFileName[80*MAX_PATH]; TCHAR* p; int nLen = 0; ZeroMemory( &ofn, sizeof(ofn) ); ofn.F原创 2013-07-09 15:42:30 · 2238 阅读 · 0 评论 -
10048错误(WSAEADDRINUSE)的错误处理
这两天在工作的过程中发现基于socket的网络程序中时不时发生connect()调用失败的错误,通过获取错误码,发现是WSAEADDRINUSE(10048)的错误,MSDN的说明如下: 这种错误常常发生在bind函数中,当bind已经绑定的端口被占用后,再次绑定同一端口就会发生错误,但这一错误不影响bind的执行,换句话说,bind第二次执行并不发生错误,但是在紧接着原创 2013-07-18 10:05:02 · 4019 阅读 · 0 评论 -
Socket中如何设置连接超时
设置connect的超时很简单,优快云上也有人提到过使用select,但却没有一个令人满意与完整的答案。偶所讲的也正是select函数,此函数集成在winsock1.1中,简单点讲,"作用使那些想避免在套接字调用过程中被锁定的应用程序,采取一种有序的方式,同时对多个套接字进行管理"(《Windows网络编程技术》原话)。使用方法与解释请见《Windows网络编程技术》。 在使用此函数前,需原创 2013-10-10 15:48:03 · 637 阅读 · 0 评论 -
C/C++头文件注释
/********************************************************************************* *Copyright(C),2010-2011,Your Company *FileName: // 文件名 *Author: //作者 *Version: //版本 *Date: //完成日期转载 2014-08-29 15:47:28 · 1515 阅读 · 0 评论 -
CString转WCHAR
Try something along the following lines.. #include { CString sText; USES_CONVERSION; #ifdef UNICODE wchar_t* psText_Unicode = (LPT原创 2013-03-14 18:19:19 · 883 阅读 · 0 评论 -
VC++ WROD DWORD 字节大小
VC中的变量类型不是一般的多,什么BYTE, WORD, DWORD, LPARAM, WPARAM, USHORT, UCHAR...像我这样VC还处于入门级别的人很容易混淆(实事求是地讲我从来没搞明白过*^_^*)。越是这样越是从基础开始补啊,要不然到将来对VC根深入的学习时都不知道问题出在哪里。 总结一下,BYTE, WORD, DWORD和进制之间的关系,当时在Digital c原创 2013-01-18 16:47:21 · 1353 阅读 · 0 评论 -
编译后,函数名改变问题。
extern 〃C〃 void —declspec( dllexport ) Funcation(int a, int b, int *c) {...} 将此函数封状在DLL中,用C++Builder编译,调用Funcation函数找不到此函数。后来使用某工具查看DLL才发现函数名被编译器改变了。成为_Funcation。后来又用VS C++原创 2013-01-16 16:34:42 · 3190 阅读 · 0 评论 -
C++如何处理内联虚函数
当一个函数是内联和虚函数时,会发生代码替换或使用虚表调用吗? 为了弄清楚内联和虚函数,让我们将它们分开来考虑。通常,一个内联函数是被展开的。 01.class CFoo {02. 03.private:04. 05.int val;06. 07.public:08. 09.int GetVal()转载 2012-07-30 23:49:21 · 483 阅读 · 0 评论
分享