全局符号介入
全局符号介入是一种机制,允许一个符号(通常是一个函数)被另一个同名符号替换或覆盖。这通常发生在动态链接过程中。 /* # ALLOCATED CHUNKS # +---------------------------+ # | METADATA | # |---------------------------| <-- Pointer retur...
全局符号介入是一种机制,允许一个符号(通常是一个函数)被另一个同名符号替换或覆盖。这通常发生在动态链接过程中。 /* # ALLOCATED CHUNKS # +---------------------------+ # | METADATA | # |---------------------------| <-- Pointer retur...
tie既能用来解包有又能用来赋值。这是怎么做到的 1. 例子 template< class... Types > tuple<Types&...> tie( Types&... args ) noexcept; 直接看例子 比较自定义结构体 #include <string> #include <tuple>...
这里主要看下WritableFile下的细节,这里只有四个方法 virtual Status Append(const Slice& data) = 0; virtual Status Close() = 0; virtual Status Flush() = 0; virtual Status Sync() = 0; appendfile和writable file都是一类f...
RandomAccessFile 是一个抽象基类,定义随机读取文件的接口。它声明了一个纯虚函数 Read,强制子类实现这个方法。 只读的话,是支持多线程并发访问的,逐步看下实现 Status NewRandomAccessFile(const std::string& f, RandomAccessFile** r) ove...
Linux kernel中有哪些奇技淫巧? Ftrace, perf, and the tracing ABI Static Keys Jump label
leveldb file io env.h中抽象出了一些文件io的接口,针对这些抽象的接口,同时也抽象出了文件的抽象类,比如 SequentialFile RandomAccessFile WritableFile SequentialFile文件io接口 重要的接口就2个 // Read up to "n" bytes from the file. "scrat...
一文讲清多线程和多线程同步 cpu cache slides 链接、装载与库 — 动态链接 这一坨写的都挺不错的链接装载与库 The LD_DEBUG environment variable 轻踩一下就崩溃吗——踩内存案例分析 实战总结|抽丝剥茧,记一次神奇的崩溃 When __cxa_pure_virtual is ju...
简单看下cross compile要做哪些东西,从一个gn的例子开始。 config("compiler_cpu_abi") { cflags = [] cflags_c = [] cflags_cc = [] ldflags = [] defines = [] if (is_linux) { # CPU architecture. We may or m...
在leveldb里发现了一段代码 // Wraps an instance whose destructor is never called. // // This is intended for use with function-level static variables. template <typename InstanceType> class NoDestruct...
看了下业界的eventloop实现,大多数的思路都是one thread per loop,然后在fd增加之类的,大多数都是在回调事件里,会跟wait同时进行 比较骚的是,我看大家打断epoll_wait都用的是event fd read来触发 我在想这个是不是在某些场景下其实会影响并发的性能。。。 我浅看了一下muduo的实现是这样的,但workflow的实现看起来又是另外一套。 ...