编程随想镜像站

编程随想


C++ 的可移植性和跨平台开发[1]:编译器

Published at January 1, 0001 ·  1 min read

在跨平台的开发过程中,很多问题都和编译器有关。因此我们先来聊聊编译器相关的问题。 首先,GCC 是优先要考虑支持的,因为几乎所有操作系统平台都有 GCC 的实现。它基本上成了一个通用的编译器了。如果你的代码在 A 平台的 GCC 能够编译通 …...

C++ 的可移植性和跨平台开发[0]:概述

Published at January 1, 0001 ·  1 min read

今天聊聊 C++ 的可移植性问题。如果你平时使用 C++ 进行开发,并且你对 C++ 的可移植性问题不是非常清楚,那么建议你看看这个系列。即使你目前没有跨平台开发的需要,了解可移植性方面的知识对你还是很有帮助的。 C++ 的可移植性这个话题 …...

C++ 对象是怎么死的?进程篇

Published at January 1, 0001 ·  1 min read

我承认这个帖子的名称有标题党的嫌疑,但是暂时想不出更好的名称了,只好先这样了 :-( 由于前天的帖子聊了架构设计的多进程问题,所以今天想起来要聊一下与“C++进程终止”相关的那些事。与前几个 C++ 帖子的风格类似,今天聊的内容,尽量局限于 …...

C++ 对象是怎么死的?关于标准输入输出流(cout,cerr,clog,etc)的进一步探讨

Published at January 1, 0001 ·  1 min read

昨天的帖子《C++ 对象是怎么死的?进程篇》,在谈到全局对象的析构顺序史,举了一个“在析构函数中使用 cout”的例子(代码详见原文)。当时的本意是想说明:全局对象的析构顺序是不确定的,最好不要在程序逻辑中依赖这个顺序(免得出现移植问题)。 …...

C++ 对象是怎么死的?为什么要写这个系列?

Published at January 1, 0001 ·  1 min read

要说 C++ 对象是怎么死的,得先从 C++ 的析构函数说起。这玩意儿是我本人很喜欢的一个语言特性(可惜有好几个语言没有类似的玩意儿,具体就不点名了,免得引发口水战)。我们可以利用 C++ 的构造和析构函数,来实现 Guard 模式,写出比 …...

C++ 对象是怎么死的?Win32 线程篇

Published at January 1, 0001 ·  1 min read

在前面的帖子里聊完了进程终止对C++对象析构的影响。今天咱们来说一下线程对于C++对象析构的影响。 由于 C++ 03 标准【没有】包含线程的概念,而(截至写本文时)C++ 0x 尚未正式发布。所以对线程的讨论只好根据特定的操作系统平台来 …...

C++ 对象是怎么死的?POSIX 线程篇(pthread)

Published at January 1, 0001 ·  1 min read

上一个帖子聊完了 Win32 环境下和线程有关的 C++ 对象死亡问题,今天该说说 POSIX 的线程库 pthread 了。如果你对 pthread 不太了解,可以先看看维基百科的介绍。 废话少说,照例先介绍三种死法。 上一个帖子已经介绍 …...

C++ 多线程调试和测试的注意事项

Published at January 1, 0001 ·  1 min read

在上次的帖子聊了 C++ 多线程的跨平台问题,后来感觉意犹未尽。今天顺便说一下开发C++多线程应用程序时,有关调试和测试的一些注意事项。下面这些注意事项主要是针对C++,不过有些对于其它的语言也适用。 很多同学非常依赖于调试器的断点功能和单 …...

7·23动车追尾事件一周回顾(网友评论及照片)

Published at January 1, 0001 ·  1 min read

今天距离7·23事故正好一周(也是死难者的头七)。虽然过了一周,互联网上依然恶评如潮。当然啦,天朝的真理部也没闲着——不停地删除墙内那些不和谐的声音。俺总是喜欢跟真理部对着干,所以今天特地收集整理了一些图片和微博评论,转载到俺博客上。俺这个 …...

2020年美国大选的选情分析

Published at January 1, 0001 ·  2 min read

明天就是美国大选的投票日,写篇博文汇总相关的信息,并谈谈俺的看法。 今年的大选有诸多特殊之处。最近一两个月,很多读者都在问一些相关的问题,俺也借这篇博文回应一下诸多读者的提问。  如果你关注美国的大选,起码要稍微了解一下美国的选举制度,以免 …...