C++
C++
dxm809
这个作者很懒,什么都没留下…
展开
-
C++ TRACE输出double类型数据
for (size_t i = 0; i < rampNpts; i++) { CString str; str.Format("%1f", Ramp[i]); TRACE("%s\n",str); }原创 2022-03-22 16:22:25 · 1216 阅读 · 0 评论 -
C# 调用C++ dll 返回数组
1 新建C++ dll项目// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call)原创 2021-10-22 18:07:24 · 2999 阅读 · 0 评论 -
C++ AcqMultiLiveInts.obj和其他lib编译版本不一致
原创 2021-10-20 16:16:01 · 122 阅读 · 0 评论 -
C#调用C++dll中的非托管类方法(stdcall)
1 新建C++ dll项目#pragma onceclass COperation{public: int Add(int a, int b); int Avg(int* buf, int count);};#include "pch.h"#include "COperation.h"int COperation::Add(int a, int b){ return a+b;}int COperation::Avg(int* buf, int count)原创 2021-09-18 14:11:17 · 1396 阅读 · 0 评论 -
C#调用C++ dll中的函数
// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call) { case .原创 2021-09-18 11:11:46 · 325 阅读 · 0 评论 -
C++ dll中引用其他dll
1 新建DLL项目MYDLL2 创建类CMyOP,修改类为导出类#pragma onceclass __declspec(dllexport) CMyOP{public: int Add(int a, int b);};#include "pch.h"#include "CMyOP.h"int CMyOP::Add(int a, int b){ return a + b;}3 编译后生成dll和lib4 创建新的DLL项目MYInvoke..原创 2021-09-17 16:44:48 · 6176 阅读 · 2 评论 -
C++引用C++ dll(动态链接库)中的命名空间,类
1 新建动态链接库项目DLL2 新建COperation类,修改COperation.h文件#pragma onceclass __declspec(dllexport) COperation{public: int Add(int a, int b);};修改COperation.cpp文件#include "pch.h"#include "COperation.h"int COperation::Add(int a, int b){ ret..原创 2021-09-16 19:10:05 · 1965 阅读 · 0 评论 -
C++ 程序引用C++ DLL
1 新建动态链接库项目2 添加DLL.h#pragma onceextern "C" _declspec(dllexport) int Add(int a, int b);3 添加DLL.cpp#include "pch.h"#include "DLL.h"int Add(int a, int b){ return a + b;}4 编译一下,在Debug目录中会找到DLL.dll和DLL.lib文件5 重新建一个控制台解决方案TestDLL,将上面..原创 2021-09-16 17:04:22 · 592 阅读 · 1 评论 -
C#调用C++dll
1 新建C#控制台项目CPPDLLDemo2 在该项目中新建C++动态链接库项目3 修改dllmain.cpp// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved .原创 2021-08-18 12:06:57 · 256 阅读 · 0 评论 -
C++ MFC对话框滚动条的使用
(1)设置对话框的vertical scrollbar属性为true; (2)初始化滚动条,如下: SCROLLINFO scrollinfo; GetScrollInfo(SB_VERT, &scrollinfo, SIF_ALL); scrollinfo.nPage = 10; //设置滑块大小 scrollinfo.nMax = 75; //设置滚动条的最大位置0--75 SetScrollInfo(SB_VERT, &scrollinfo,原创 2021-06-25 16:18:09 · 1132 阅读 · 0 评论 -
C++ 文件读写异常处理
char* pBuffer = new char[0x1000]; try { CFile file("mydoc.doc", CFile::modeReadWrite); DWORD dwBytesRemaining = file.GetLength(); UINT nBytesRead; DWORD dwPosition; while (dwBytesRemaining) { dwPosition = file.GetPosition(); nBytesRead =..原创 2021-06-25 16:17:57 · 1138 阅读 · 0 评论 -
C++ ini读写
void CProfileStringDlg::OnWrite() { CString inifilepath="G:\\test.ini"; //ini文件位置 CString str; GetDlgItem(IDC_DATA)->GetWindowText(str); if(str.IsEmpty()) { MessageBox("没有输入数据"); return ; } //在ini文件中写入数据,节为section,键值为key,数据为str中的数据 if(Wri.原创 2021-06-25 16:17:09 · 175 阅读 · 0 评论 -
C++ 创建文件夹
void CCreateFolderDlg::OnButcreate() { // TODO: Add your control notification handler code here char buf[256]; ::GetCurrentDirectory(256,buf); //获取程序当前路径 m_name.GetWindowText(name); //获取输入的文件夹名 strcat(buf,"\\"); //在当前路径后面加"\" strcat(buf,name); .原创 2021-06-25 16:15:44 · 1204 阅读 · 1 评论 -
C++ The object or library file was created with an older compiler than other objects
问题:The object or library file was created with an older compiler than other objects解决方法:(已解决)在 “项目” -> “属性” -> “高级" -> "全程序优化",选择无全程序优化在 “项目” -> “属性” -> “配置属性" -> "C/C++" -> “优化” 中关闭“全程序优化”...原创 2021-06-23 20:01:32 · 388 阅读 · 0 评论 -
C++ 多文档(MDI)带有滚动条的窗体
1void CScrollBarMDIView::OnInitialUpdate(){ CScrollView::OnInitialUpdate(); CSize sizeTotal; // TODO: 计算此视图的合计大小 /*sizeTotal.cx = sizeTotal.cy = 100;*/ sizeTotal.cx = sizeTotal.cy = 10000; SetScrollSizes(MM_TEXT, sizeTotal);}...原创 2021-06-20 09:30:47 · 239 阅读 · 0 评论 -
C++ MFC多文档(MDI)主窗口默认最大化
1 新建MDI程序MaxMain'Wnd2 修改CMa//pMainFrame->ShowWindow(m_nCmdShow); pMainFrame->ShowWindow(SW_MAXIMIZE);原创 2021-06-20 09:22:24 · 370 阅读 · 0 评论 -
C++ MFC 多文档(MDI)子窗口默认最大化
1 创建MFC 多文档项目MaxChildWWnd;2BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CMDIFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: 在此处通过修改 // CREATESTRUCT cs 来修改窗口类或样式 cs.style |= WS_MAXIMIZE | WS_VISIBLE; return TRUE;}.原创 2021-06-20 09:16:41 · 541 阅读 · 0 评论 -
C++ MFC 创建MDI动态多文档
1 新建mfc mdi程序MDIFormViewTest,选择view 的基类为CFormView2 添加原创 2021-06-20 08:15:32 · 798 阅读 · 0 评论 -
C++ mfc单文档(SDI)添加菜单
1 新建mfc单文档项目MenuTest2 在Resource.h里面添加如下定义#define ID_MENU_1 10000#define ID_MENU_2 10001#define ID_MENU_3 10002#define ID_MENU_4 10003#define ID_MENU_5 10004原创 2021-06-18 20:03:39 · 832 阅读 · 0 评论 -
C++ mfc单文档(SDI)工程状态栏设置
1 新建单文档int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; UINT nStatusArray[3] = { IDC_STATUS_1,IDC_STATUS_2,IDC_STATUS_3 }; CString strTextArray[3] = { "我的电脑","本地磁盘","DVD驱动器" }; m_原创 2021-06-18 17:46:39 · 321 阅读 · 0 评论 -
C++ 单文档(SDI)工程添加工具栏
1 新建单文档mfc项目ShowToolBar2 导入一个位图资源3 在Resource.h里面添加定义#define IDC_BUTTON_1 10200#define IDC_BUTTON_2 10201#define IDC_BUTTON_3 10202#define IDC_BUTTON_4 10203#define IDC_BUTTON_5 102044原创 2021-06-18 17:25:34 · 242 阅读 · 0 评论 -
c++ 单文档(SDI)视图中显示位图
1 新建单文档MFC工程ShowBMP,指定视图的基类为CScrollView2 添加位图资源3void CShowBMPView::OnDraw(CDC* pDC){ CShowBMPDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 CBitmap bmp; CDC memDC; CRect rect; GetClientRect(&am.原创 2021-06-18 16:20:01 · 255 阅读 · 0 评论 -
c++ 单文档(SDI)MFC分割视图实例
1 新建MFC单文档工程2 在工程中点右键选择类向导原创 2021-06-18 15:55:14 · 350 阅读 · 1 评论 -
C++ 创建MFC扩展动态链接库
1 创建项目,选择C原创 2021-06-16 16:08:34 · 395 阅读 · 2 评论 -
C++ 创建共享MFC规则动态链接库
1.创建项目,选择C++ 库项目,MFC动态连接库,输入名称MFCLibrary012 选择静态连接到MFC的常规DLL3 创建对话框资源4 添加按钮消息处理函数void CRegularDLLDlg::OnBnClickedBtnShow(){ MessageBox("MFC规则DLL", "Regular DLL", MB_OK);}5 在MFCLibrary01.h 和MFCLibrary01.cpp中添加SHowDlg()方法extern "C".原创 2021-06-16 15:08:38 · 308 阅读 · 0 评论 -
C++ 创建静态MFC规则动态链接库
1.原创 2021-06-16 15:04:05 · 729 阅读 · 0 评论 -
C++ 通过创建动态链接库模板创建DLL(NON-MFC DLL)
1原创 2021-06-16 14:19:56 · 216 阅读 · 0 评论 -
C++ 读取写入文件
#include <iostream>#include <fstream>using namespace std;int main(){ ofstream out; out.open("1.txt", ios::out | ios::trunc); out << "Hello" << endl; out.close(); ifstream in; in.open("1.txt"); char data[100]; in >&.原创 2021-06-15 15:44:33 · 129 阅读 · 0 评论 -
C++ 接口(抽象类)
#include <iostream> using namespace std; // 基类class Shape {public: // 提供接口框架的纯虚函数 virtual int getArea() = 0; void setWidth(int w) { width = w; } void setHeight(int h) { height = h; }protected: int width.原创 2021-06-15 15:21:23 · 111 阅读 · 0 评论 -
C++ 结构作为函数参数
#include <iostream>#include <cstring> using namespace std;void printBook( struct Books book ); // 声明一个结构体类型 Books struct Books{ char title[50]; char author[50]; char subject[100]; int book_id;}; int main( ){ Boo.原创 2021-06-15 15:10:56 · 97 阅读 · 0 评论 -
C++ 引用 vs 指针
引用很容易与指针混淆,它们之间有三个主要的不同:不存在空引用。引用必须连接到一块合法的内存。 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。 引用必须在创建时被初始化。指针可以在任何时间被初始化。...原创 2021-06-15 14:57:51 · 102 阅读 · 0 评论 -
C++ 传递指针给函数
#include <iostream>#include <ctime>using namespace std;void getSeconds(unsigned long* par){ // 获取当前的秒数 *par = time(NULL); return;}int main(){ unsigned long tm; getSeconds(&tm); cout << "number of secondes:" <<tm...原创 2021-06-15 14:54:33 · 101 阅读 · 0 评论 -
C++指向指针的指针
#include <iostream> using namespace std; int main (){ int var; int *ptr; int **pptr; var = 3000; // 获取 var 的地址 ptr = &var; // 使用运算符 & 获取 ptr 的地址 pptr = &ptr; // 使用 pptr 获取值 cout <.原创 2021-06-15 14:43:59 · 221 阅读 · 0 评论 -
C++ 指针数组
#include <iostream>using namespace std;const int MAX = 3;int main(){ int var[MAX] = { 10,100,200 }; int* ptr[MAX]; for (size_t i = 0; i < MAX; i++) { ptr[i] = &var[i]; } for (size_t i = 0; i < MAX; i++) { cout << *p.原创 2021-06-15 14:42:16 · 82 阅读 · 0 评论 -
C++指针的算术运算
#include <iostream>using namespace std;const int MAX = 3;int main(){ int var[MAX] = { 10,100,200 }; int* ptr; ptr = var; int i = 0; while (ptr <= &var[MAX - 1]) { cout << "Address of var[" << i << "]=" ; cout .原创 2021-06-15 14:36:17 · 142 阅读 · 0 评论 -
C++ 用指针倒序遍历数组
#include <iostream>using namespace std;const int MAX = 3;int main(){ int var[MAX] = { 10,100,200 }; int* p = &var[MAX - 1]; for (size_t i = MAX; i > 0; i--) { cout << *p << endl; p--; }}原创 2021-06-15 14:29:33 · 623 阅读 · 0 评论 -
C++ 卷影复制服务信息,无法启动...问题解决办法
C++程序跑过程中,出现下面的系统日志命令行输入services.msc,找到Cryptographic services,并禁止自动启动,并停止该服务原创 2021-06-04 11:00:49 · 2277 阅读 · 0 评论 -
C++ 串口通讯
#pragma onceclass CComHelper{private: HANDLE hCom;public: bool Open(); void Set(); DWORD Read(char str[], int length); bool Write(char* data, int length); bool Close();};#include "pch.h"#include "CComHelper.h"bool CComHelper::Open(){ .原创 2021-06-02 16:41:41 · 2080 阅读 · 0 评论 -
C++ MFC 文档视图结构的类关系
原创 2021-06-25 16:17:43 · 149 阅读 · 0 评论 -
C++ 文件压缩
//路径里不能有空格void CRARDlg::OnWinrar() { CString des,temp,path,rarpath; GetDlgItem(IDC_PATH)->GetWindowText(path); if(path.IsEmpty()) { MessageBox("请输入文件名字"); return ; } rarpath.Format("%s.rar",path.Left(path.ReverseFind('.'))); t..原创 2021-05-24 06:25:04 · 626 阅读 · 0 评论