编程珠玑

分享C/C++/Linux/数据结构与算法/工具/读书等原创文章
219 篇文章
80.8K 次阅读
36 人订阅

全部文章

编程珠玑

骚操作:利用强弱符号制作插件库

上面的test_print函数是弱符号,在没有其他地方定义的情况下,也是能够正常编译运行的:

5910
编程珠玑

排查线上 Linux 系统故障,看这一篇就够了!

之前分享过部分性能优化相关的文章,不过暂不成体系。但是不论你去面试高级工程师,还是架构师,性能优化的问题一定少不了。想彻底解决性能问题,就要全面了解程序设计、算...

4710
编程珠玑

函数或全局变量重复定义时会怎样?

从结果中可以看到,虽然num被定义了两次,但是仍然可以编译通过,并且正常运行。这又是为什么呢?

6130
编程珠玑

如何优雅地实现判断一个值是否在一个集合中?

如何判断某变量是否在某个集合中?注意,这里的集合可能并不是指确定的常量,也可能是变量。

8310
编程珠玑

原来C语言还可以这样实现“泛型编程”!

泛型编程(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例...

8510
编程珠玑

性能优化-放开那片内存,让我来!

假设你已经通过《perf:一个命令发现性能问题》中的方法或者使用profiler分析,已经发现内存分配是性能瓶颈:

7930
编程珠玑

scanf("%*[\n]%[^\n]",s)是什么意思?

在解释标题的用法之前,先看看其他的用法。 不知道你有没有看到过scanf下面这样的用法:

29930
编程珠玑

GDB调试还不会?看这篇就够了!

在Linux使用C/C++进行开发,不了解gdb的基本使用,是有点说不过去的,网上也有官方的GDB教程,或者其他教程,本文是借助实例,介绍了如何使用GDB进行调...

25021
编程珠玑

const关键字你搞懂了?这个编译问题你可能都搞不明白!

我们发现出现了链接问题,说const_int没有定义的引用,但我们确实在const.cc文件中定义了。

7920
编程珠玑

这行代码的打印结果确实让人迷惑!

上周在《来看一道"简单的"C语言面试题》中分享了一道题,所谓纠正后的代码也是漏洞百出,所幸读者在留言区已经指出,在这非常感谢。

8020
编程珠玑

来看一道"简单的"C语言面试题

貌似很久没有更新文章了,前两天更新了一篇《想后台运行没想到导致磁盘满了》,里面涉及的内容比较广,可惜看的人不多。今天来看到小题,复习一下。

14300
编程珠玑

想后台运行没想到导致磁盘满了

之前在《如何让程序真正地后台运行》一文中提到了程序后台运行的写法,但是里面的示例程序在某些场景下是会有问题的,这里先不说什么问题,我们先看看这个磁盘满的问题是怎...

10030
编程珠玑

PIMPL:休想窥探我的隐私!

有时候我们需要提供对外的API,通常会以头文件的形式提供。举个简单的例子: 提供一个从某个指定数开始打印的接口,头文件内容如下:

10220
编程珠玑

这才是现代C++单例模式简单又安全的实现

说到单例模式,很多人可能都已经很熟悉了,这也是面试常问的一个问题。对于单线程而言,单例的实现非常简单,而要写出一个线程安全的单例模式,曾经有很多种写法。有兴趣的...

17430
编程珠玑

两段有趣的C代码

看起来没啥用的内容。 不过在你需要的文本内容比较长,不想直接复制在源代码里面的时候,其实就可以考虑这种方式了。

15320
编程珠玑

哦!数组还能这么用,学到了!

先看下面的代码,对于包含动态字符串成员的两个结构体Test0和Test1占用空间分别是多少呢?

7720
编程珠玑

32位程序和64位程序这些区别你知道吗?

我们在编写C/C++程序时,32位程序和64位程序的代码有何区别?如何编写既可以编译成32位程序又可以编译成64位程序的代码?

39720
编程珠玑

C语言迷惑行为大赏

由于你的代码前面并没有执行出错设置errno,因此errno会是0,而对应的描述信息就是Success。

13120
编程珠玑

万万没想到,一个可执行文件原来包含了这么多信息!

拿到一个编译好的可执行文件,你能获取到哪些信息?文件大小,修改时间?文件类型?除此之外呢?实际上它包含了很多信息,这些你都知道吗?

11620
编程珠玑

神奇,C代码竟然能当成shell脚本一样“直接”执行!

我们都知道,写完了的C代码是需要编译链接之后才能运行的(也许你不需要手动点击编译,但是IDE可能帮你做了这件事),那么能不能让C代码像执行shell脚本或者Py...

11110

扫码关注云+社区

领取腾讯云代金券