跨平台C++:(前言)正确打开C++的方式
接触C++已经十五年了。。。但是对于C++而言,我至今是个门外汉,不是谦虚,而是确实不得其门而入。
历程是这样的——
大学考研要考C++,就自学了。研没考上,C++算是学了,准确的说是C++的语法,以及面向对象的概念,全是虚的东西。
毕业找工作,人家要做个简单界面,我不会,因为还不会使用任何C++做界面的类库,编译器也只会使用Turbo C++ 3,被羞辱了。最后凭借C语言找到一份编程的工作(没问UI的东西,感谢第一个东家给饭吃)。但是制作工具软件,还是要使用界面(GUI)。整个开发就俩人,我和领导。领导问我用啥,我说VC吧,结果看了两个月MFC,始终一头雾水(领导也不用VC,网络不发达,找资料和跟人讨论没现在这么方便)。领导说他在用C#.Net,让我也用,然后我就走上了C#之路。。。
然后就是刚来中金的时候,领导让尝试做个飞马的网关,API是C++的,我就又有了折腾C++的机会,采取的方案是C#<->C++/CLI<->C++。后来项目放弃,代码也没人维护,因为没有人想同时维护三种语言。
最后就是最近不得不调用柜台厂商的C++API,但是选择的P/Invoke,不写一句C++代码。
这几天跟使用C++做网关的同事聊,说起他们的代码其实是要尽量跨平台的,虽然不能build once, run everywhere,但是想要code once, run everywhere。就是写一份代码,通过宏开关来处理与平台相关的逻辑,然后对每种平台编译一份。我突然发现,终于找到打开C++的正确方式了,happy:)
跨平台C++:(前言)正确打开C++的方式的更多相关文章
- sqlsugar入门(1)-初识sugar正确打开sugar的方式
1.实例化DB public static SqlSugarClient GetDB(string s) { var ssc = new SqlSugarClient(new ConnectionCo ...
- iOS开发小技巧--相机相册的正确打开方式
iOS相机相册的正确打开方式- UIImagePickerController 通过指定sourceType来实现打开相册还是相机 UIImagePickerControllerSourceTypeP ...
- Xcode 的正确打开方式——Debugging(转载)
Xcode 的正确打开方式——Debugging 程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode.这篇博客就主要介绍了 Xcode 中几种能 ...
- C#语法——泛型的多种应用 C#语法——await与async的正确打开方式 C#线程安全使用(五) C#语法——元组类型 好好耕耘 redis和memcached的区别
C#语法——泛型的多种应用 本篇文章主要介绍泛型的应用. 泛型是.NET Framework 2.0 版类库就已经提供的语法,主要用于提高代码的可重用性.类型安全性和效率. 泛型的定义 下面定义了 ...
- InnoDB缓冲池预加载在MySQL 5.7中的正确打开方式
InnoDB缓冲池预加载在MySQL 5.7中的正确打开方式 https://mp.weixin.qq.com/s/HGa_90XvC22anabiBF8AbQ 在这篇文章里,我将讨论在MySQL 5 ...
- Console控制台的正确打开方式
Console控制台的正确打开方式 console对象提供了访问浏览器调试模式的信息到控制台 -- Console对象 |-- assert() 如果第一个参数断言为false,则在控制台输出错误信息 ...
- 任务队列和异步接口的正确打开方式(.NET Core版本)
任务队列和异步接口的正确打开方式 什么是异步接口? Asynchronous Operations Certain types of operations might require processi ...
- 【Android开发笔记】返回上层Activity的正确打开方式
技术支持 http://stackoverflow.com/questions/12276027/how-can-i-return-to-a-parent-activity-correctly 首先, ...
- (一)Redis for Windows正确打开方式
目录 (一)Redis for Windows正确打开方式 (二)Redis for 阿里云公网连接 (三)Redis for StackExchange.Redis 下载地址 官网.中文网1 及 中 ...
随机推荐
- RN import ** from ** 用法
1.import React, { Component } from 'react': 导入‘react’文件里export的一个默认的组件,将其命名为React以及Component这个非默认组件 ...
- 【Luogu】P3052摩天大楼里的奶牛(遗传算法乱搞)
一道状压题,但今天闲来无事又用遗传乱搞了一下. 设了一个DNA数组,DNA[i]记录第i个物品放在哪个组里.适应度是n-这个生物的组数+1. 交配选用的是轮盘赌和单亲繁殖——0.3的几率单点变异.(事 ...
- 怎么创建SpringBoot项目
上述中讲到了怎么创建SpringBoot项目,那么现在就来介绍下SpringBoot配置文件的两种格式yml和properties 首先呢发上一份application.properties 在放上一 ...
- 两周多学完Java 23种设计模式
最近两周任务不是很繁重,对于一个刚入职4个月的菜鸟来说,学习设计模式并灵活使用简直天方夜谭:但是当我询问我导师需要学点啥的时候?“<Java设计模式>,这个必须要学”,一句简单粗略的 ...
- BZOJ 1778 [Usaco2010 Hol]Dotp 驱逐猪猡 ——期望DP
思路和BZOJ 博物馆很像. 同样是高斯消元 #include <map> #include <ctime> #include <cmath> #include & ...
- Web Services 教程
Web Services 可使您的应用程序成为 Web 应用程序. Web Services 通过 Web 进行发布.查找和使用. Web Services 是应用程序组件 Web Services ...
- *Codeforces961G. Partitions
$k \leq n \leq 100000$,求式子$Ans=\sum_{i=1}^n w_i\sum_{j=1}^n j\binom{n-1}{n-j} \{ ^{n-j}_{k-1} \}$. 题 ...
- IOS开发之触摸背景关闭键盘的代码实现
直接上代码: // 触摸背景,关闭键盘 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch ...
- hanzi 全拼音 qu de
Function pinyin(ByVal mystr As String, Optional types As Byte = 0) As StringDim temp As String, i ...
- CCPC-Wannafly Winter Camp Day1 (Div2, online mirror) A,B,C,E,F,I,J
https://www.zhixincode.com/contest/7/problems A题 分类讨论 当B有点需要经过时 穿梭的花费肯定为2*k,也可以发现,我们要找到包含所有需要经过的点(不含 ...