Linux c++
扬我大山东
天道酬勤,任重而道远。
学海无涯,逆水遂行舟。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能
展开
-
c++ 多级map程序及调试
/*定义全局的map*/map<string,vector<STA_PA_REG_OPS> > gr_paMap;map<string,vector<STA_GN_REG_OPS> > pa_gn_Map;/*结构体数组定义在.h文件中*/16001 /* 发电商静态注册表 */ sta_pa_regtypedef struct s...原创 2018-12-06 13:37:59 · 936 阅读 · 0 评论 -
Shape 与 InlineShape 的区别
2010年05月31日 23:46:00wyd45123阅读数 2699Shape 对象代表文档中的图形对象,InlineShape 代表文档中的嵌入式图形对象。所谓嵌入式图形对象,是指将图像作为文字处理,在排版上以文字的方式进行排版。Shape 与 InlineShape 对象在文档中分别属于 Shapes 集合与 InlineShapes 集合。通过 Shape 对象的 C...转载 2019-07-23 16:07:36 · 2548 阅读 · 1 评论 -
c#总结
c#教程之比较全的一个C#操作word文档示例 2018-02-07 12:09来源:未知 最近两天研究了一下如何使用VS2008(C#语言)输出Word文档。以下是几点总结:1、非常简单。2、开发及运行环境要求。操作系统为:WindowsXP(安装.net framework2.0)/Vista/Win7;在操作系统必须安装Word2003完全安装版。这里必须要强调是W...转载 2019-07-24 09:57:27 · 231 阅读 · 0 评论 -
C#生成word记录详解
private void button1_Click(object sender, System.EventArgs e){object oMissing = System.Reflection.Missing.Value;object oEndOfDoc = "\\endofdoc";/* \endofdoc是预定义的bookmark */ //创建一个document.Wor...转载 2019-07-24 10:12:30 · 163 阅读 · 0 评论 -
c#生成Excel饼图、柱状图
c#生成Excel饼图、柱状图 using Excel = Microsoft.Office.Interop.Excel; namespace PrintProject.ChuangKou { public partial class Chart { List<string> txDataPie =...转载 2019-07-24 10:57:53 · 878 阅读 · 0 评论 -
VS2013中 C++程序生成lib和dll文件
VS2013中为C++程序生成lib和dll文件2017年03月21日 10:44:44Naruto_Q阅读数 13432更多所属专栏:c++数据交互及常用数学库使用版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/piaoxuezhong/article/details/64127436dll的优点代码复用是提高软...转载 2019-07-29 18:35:42 · 372 阅读 · 0 评论 -
解决:对 PInvoke 函数的调用导致堆栈不对称问题
解决:对 PInvoke 函数的调用导致堆栈不对称问题2015年10月16日 10:24:55欢香Love阅读数 4648c# 调用C++dll是报错:问题描述: 在使用托管代码调用非托管代码时,发生“对 PInvoke 函数“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::GetFirstP...转载 2019-07-29 20:42:15 · 583 阅读 · 0 评论 -
windows 无法加载DLL “***.dll”:找不到指定的模块
windows 无法加载DLL “***.dll”:找不到指定的模块解决方法:将这个无法加载的dll,复制到C:\Windows\SysWOW64中转载 2019-07-29 20:43:04 · 3613 阅读 · 0 评论 -
C#调用C++编写的DLL函数, 以及各种类型的参数传递
double*用refdouble数组的话doubel[]-------------------------------------------------------------------------------------------------------------------------------------------------------C#与C++交互...转载 2019-07-30 09:23:54 · 571 阅读 · 0 评论 -
托管代码C#调用非托管C++ API, 封送嵌套结构体数组
一、前言: 最近这两天由于项目需要,提供给客户的C++ 动态库需要返回自定义结构体数组,网上也查了很多资料, 推荐一本书, 《精通.NET互操作:P/Invoke、C++ Interop和COM Interop》 , 介绍Windows平台上的托管代码与非托管代码之间进行互操作的各种技术, 虽然里面没有结构体数组的传参例子。以前都是返回字节数组的,本以为很简单,意想不到的...转载 2019-07-30 09:41:38 · 671 阅读 · 0 评论 -
C#与C++交互之——参数传递
转自:https://blog.csdn.net/Kelvin_Yan/article/details/41719771出发点:最近在做C#、C++的交互,期间出现不少的问题,边学边做以下是《精通.NET互操作》读书笔记,该书详细讲述了.Net与C/C++的交互技术托管代码和非托管代码的交互技术有3种:平台调用(PInvoke)、C++ Interop、COM Intero...原创 2019-07-30 09:58:04 · 2678 阅读 · 1 评论 -
C#调用C++接口返回字符串的做法
现在有这样一种情景,假如C#调用C++接口需要返回一个字符串。因为字符串是不定长的,因此传递一个定长的字符串进去是不合适的。 因此需要一种间接的做法,简单来说就是C#定义一个创建空字符串的接口,传递这个接口指针给C++模块,然后在C++模块中调用这个C#接口创建一个空的字符串接口。然后在传递字符串时先调用这个C#接口创建一个空字符串,然后再填充字符串。具体的代码如何...转载 2019-07-25 14:50:47 · 1836 阅读 · 0 评论 -
C#动态调用C++接口
有些场景需要用到C#调用C++编译的接口,这就要使用[DllImport]直接调用,该[DllImport]所在的名字空间为using System.Runtime.InteropServices;当我们得到一个C++的DLL接口时,我们可以使用[DllImport]调用该DLL就得知道DLL的接口,传入的参数、传出的参数、入口函数。(包括DLL的路径)如:[DllImport(@"\..\...转载 2019-07-25 14:59:15 · 627 阅读 · 0 评论 -
c# 垃圾回收机制
一:什么是资源在开始本文前,需要一些准备知识。首先要提出“什么是资源”。在CLR出来之后,Windows系统资源开始分为“非托管资源”和“托管资源”。 非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理; 托管资源是指:由CLR管理分配和释...转载 2019-07-23 09:52:33 · 244 阅读 · 0 评论 -
无法实现接口成员,因为它不是公共的-----------interface
//在使用Interface时 要注意: namespace GenericTest { interface IAnimals // 接口前不能添加出public关键字之外的修饰符 public interfact IAnimals 这样写也正确 { public void Eat(); //这样写法是错误的 voi...转载 2019-07-23 10:14:50 · 1559 阅读 · 0 评论 -
排序方法
冒泡排序:int Sort(){ int a[10];//定义一个数组,存放输入的10个数 int i,j,value;//t用于存放交换的数 cout<<"please enter the numbers:"<<endl; for(i=0;i<20;i++) { cin>>a[i];//...原创 2019-08-05 15:50:28 · 82 阅读 · 0 评论 -
c# 时间操作
刚才测试一个程序时候,发现本应该是24表示的时间,结果变成了12小时,结果在加载列表的时候,顺序就不正确了。那么应该是时间.ToString(XX)XX 的格式问题。所以需要这样:比如 MessageBox.Show(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));会输出 2014-4-3 5:08:4【12小时格式】那么 ...转载 2019-07-23 15:56:44 · 85 阅读 · 0 评论 -
c# 生成word报告
class GenerateReport{ object oMissing = System.Reflection.Missing.Value; Word._Application oWord; Word._Document oDoc; //通过模板创建文档 public void start(object filepath)...转载 2019-07-23 15:53:44 · 1087 阅读 · 0 评论 -
101个shell脚本
转自:https://blog.51cto.com/zero01/2046242101个shell脚本本文用于记录学习和日常中使用过的shell脚本【脚本1】打印形状打印等腰三角形、直角三角形、倒直角三角形、菱形#!/bin/bash# 等腰三角形read -p "Please input the length: " nfor i in `seq ...转载 2019-06-27 20:42:50 · 770 阅读 · 0 评论 -
我对C++ string和length方法的一个长期误解
转自:https://blog.csdn.net/boshuzhang/article/details/77453526我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)2016-11-05 18:541155人阅读评论(2)收藏举报分类:S1: C/C++(719)S1:...转载 2019-06-20 21:41:11 · 597 阅读 · 0 评论 -
序列化与反序列化-深入理解
序列化与反序列化-深入理解序列化指的是将一个内存对象转化成一串字节数据(存储在一个字节数组中),可用于保存到本地文件或网络传输。反序列化就是将字节数据还原成内存对象。如: struct student { int id; string name; }; 将一个student对象转换成字节数据存储在ByteArray[20]中...转载 2019-06-20 21:42:12 · 191 阅读 · 0 评论 -
strcpy和memcpy的区别
strcpy 遇到'\0' 结束转载 2019-06-21 10:02:22 · 91 阅读 · 0 评论 -
C++:memset ,memcpy 和strcpy 的根本区别(转)
转自:https://blog.csdn.net/stock888/article/details/3930847C++:memset ,memcpy 和strcpy 的根本区别(转)#include "memory.h"memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', siz...转载 2019-06-21 10:12:09 · 154 阅读 · 0 评论 -
总结几种log打印printf函数的宏定义
总结几种log打印printf函数的宏定义#include <stdio.h>#define lU_DEBUG_PREFIX "##########"#define LU_DEBUG_CMD 0x01#define LU_DEBUG_DATA 0x02#define LU_DEBUG_ERROR 0x04#define LU_PRINTF_cmd(msg...) ...转载 2019-06-21 14:59:09 · 649 阅读 · 0 评论 -
SQM_Probe LOG日志 格式化输出
SQM_Probe LOG日志 格式化输出1.log日志的作用在软件开发周期中,不管是前台还是后台,系统一般会采用一个持久化的日志系统来记录运行情况。在代码中嵌入log代码信息,主要记录下列信息:(1)记录系统运行异常信息。(2)记录系统运行状态信息。(3)记录系统运行性能指标。通过对上述信息分析和诊断,我们能采取正确的手段来提高系统质量和系统性能。由此可见log日...转载 2019-06-21 16:56:03 · 296 阅读 · 0 评论 -
log 开关 _DEBUG
我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#define ...转载 2019-06-21 17:03:21 · 442 阅读 · 0 评论 -
error :在此作用域中尚未声明
Class 中定义的成员,只能通过其对象来调用A.h:class A{public: A(); ~A();public:private:public: //A *a;//方案一 Error string AString; }A.cpp: A::A(){ AString="helloword!!";//error a->AString="he...转载 2019-06-21 17:30:29 · 2380 阅读 · 0 评论 -
C++中基类的析构函数为什么要用virtual虚析构函数
要弄明白这个问题,首先要了解下C++中的动态绑定。 关于动态绑定的讲解,请参阅: C++中的动态类型与动态绑定、虚函数、多态实现正题 直接的讲,C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放。假设基类中采用的是非虚析构函数,当删除基类指针指向的派生类对象时就不会触...转载 2019-06-26 15:12:09 · 106 阅读 · 0 评论 -
C++中的动态类型与动态绑定、虚函数、运行时多态的实现
转自:https://blog.csdn.net/iicy266/article/details/11906509C++中的动态类型与动态绑定、虚函数、运行时多态的实现动态类型与静态类型静态类型 是指不需要考虑表达式的执行期语义,仅分析程序文本而决定的表达式类型。静态类型仅依赖于包含表达式的程序文本的形式,而在程序运行时不会改变。通俗的讲,就是上下文无关,在编译时就...转载 2019-06-26 15:19:55 · 130 阅读 · 0 评论 -
c++ 24种设计模式
C++ 常用设计模式(学习笔记)设计模式1、工厂模式在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式,一般在创建复杂对象时,考虑使用;在创建简单对象时,建议直接new完成一个实例对象的创建。1.1、简单工厂模式主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新产品时,需要修改工厂类。...转载 2019-06-24 16:01:10 · 1778 阅读 · 1 评论 -
c++ 常用设计模式详解
转自:https://blog.csdn.net/hechao3225/article/details/71366058本文介绍几种常用的设计模式并给出C++实现。1.单例模式作用:保证一个类只有一个实例,并提供一个访问它的全局访问点,使得系统中只有唯一的一个对象实例。应用:常用于管理资源,如日志、线程池实现要点:在类中,要构造一个实例,就必须调用类的构造函数,并且为...转载 2019-06-24 16:03:28 · 316 阅读 · 0 评论 -
设计模式 结合实际情况详解
Part One: Methods for constrcting a new object:1.Factory method我们把简单工厂方法归类到工厂方法中。工厂方法的目的是用来解决具有同一接口(基类)派生类对象的生成问题。尽管可以通过类的构造函数生成对象,但是,如果派生类的数量很大——即使几十个不同的派生类——对于程序设计而言也是困难的。这里有两个困难:其一是可读性,在一个程序里使...转载 2019-06-24 16:16:06 · 180 阅读 · 0 评论 -
单例模式 工厂模式 策略模式(c++ 常用模式)
1.单例模式作用:保证一个类只有一个实例,并提供一个访问它的全局访问点,使得系统中只有唯一的一个对象实例。应用:常用于管理资源,如日志、线程池实现要点:在类中,要构造一个实例,就必须调用类的构造函数,并且为了保证全局只有一个实例,需防止在外部调用类的构造函数而构造实例,需要将构造函数的访问权限标记为private,同时阻止拷贝创建对象时赋值时拷贝对象,因此也将它们声明并权限...转载 2019-06-27 19:33:45 · 376 阅读 · 0 评论