elf

Posted by 夏泽民

UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。 被86open项目选为x86架构上的类Unix操作系统的二进制文件标准格式,用来取代COFF ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(Program header table)、节(Section)和节头表(Section header table)。实际上,一个文件中不一定包含全部内容,而且他们的位置也未必如同所示这样安排,只有ELF头的位置是固定的,其余各部分的位置、大小等信息由ELF头中的各项值来决定。



tscan

Posted by 夏泽民

https://github.com/google/sanitizers/wiki/AddressSanitizer ThreadSanitizer又叫TSan,是一个检查线程Data Race的C/C++工具。它集成在新版的gcc和clang中,通过编译时加-fsanitize=thread,可以在运行时检测出Data Race的问题。



race

Posted by 夏泽民

goroutine的使用增加了函数的危险系数论go语言中goroutine的使用。比如一个全局变量,如果没有加上锁,我们写一个比较庞大的项目下来,就根本不知道这个变量是不是会引起多个goroutine竞争。 package main



Memory Sanitizer

Posted by 夏泽民

// Race Detector的处理(用于检测线程冲突问题) if raceenabled { racemalloc(x, size) }



go 编译器指示

Posted by 夏泽民

在计算机编程中,编译指示(pragma)是一种语言结构,它指示编译器应该如何处理其输入。指示不是编程语言语法的一部分,因编译器而异。 https://golang.org/cmd/compile/#hdr-Compiler_Directives 形如 //go: 就是 Go 语言编译指示的实现方式。 //go: 是连续的,// 和 go 之间并没有空格。



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required