跨平台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 及 中 ...
随机推荐
- php官方微信接口大全
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中.内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?php class ...
- 字符串格式化format很牛B
python的format方法可谓相当强大,它可以接受不限个参数... 1.通过位置来格式化字符串,注意format传入的参数的位置要正确{0}对应第1个参数,{1}对应第2个参数... >&g ...
- 黑匣子_NOI导刊2010提高 (对顶堆)
题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命令只有两种: ...
- es6 箭头函数 map、find
var value = arr.map(function (x) {return x * x}); const arr = [1,2,3,4]; const value = arr.map(x =& ...
- MyEclipse6.5增加对Tomcat7的支持
MyEclipse6.5增加对Tomcat7的支持 最近在研究Servlet3.0,它是JavaEE6.0规范中的一部分 而Servlet3.0对服务器是有要求的,比如Tomcat7+(而Tomcat ...
- nmon性能分析工具(生成图表)
1. nmon性能结果生成报告工具下载地址: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power% ...
- 在windows下使用Cygwin模拟unix环境,并安装apt-cyg,svn等工具
在windows下使用Cygwin模拟unix环境,并安装apt-cyg,svn等工具 一.Cygwin的安装 1. 下载Cygwin,这个可以到这里下载 ,至于使用32位的还是64位的版本可以根据自 ...
- 洛谷 [T21776] 子序列
题目描述 你有一个长度为 \(n\) 的数列 \(\{a_n\}\) ,这个数列由 \(0,1\) 组成,进行 \(m\) 个的操作: \(1\ l\ r\) :把数列区间$ [l,r]$ 内的所有数 ...
- Codevs 1021 玛丽卡==洛谷 P1186
时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个 ...
- Laravel 之Cache缓存
写入缓存 Cache::put('key','value',10);//设置10分钟 获取缓存 Cache::get('key'); 增加缓存 Cache::add('key','value',10) ...