240 發(fā)簡信
IP屬地:上海
  • 120
    Faiss源碼解析

    向量檢索ANN(Approximate Nearest Neighbor Search)抗碰,指的是對(duì)于一個(gè)query向量催烘,從向量庫中找到和它距離最接近的k個(gè)向量芍锚。這是一個(gè)典型的...

  • 120
    編譯構(gòu)建工具-bazel

    bazel是什么:https://zhulao.gitee.io/blog/2019/04/05/%E7%BC%96%E8%AF%91%E6%9E%84%E5%BB%BA%E...

  • 常用Shell腳本模板

    shell腳本 目錄 啟動(dòng)行參數(shù)解析[#%E5%90%AF%E5%8A%A8%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A7%A3%E6%9E%90] 參數(shù)...

  • CPP技巧整理 —— 分布式進(jìn)程id表示方法

    在分布式的服務(wù)器環(huán)境下,設(shè)計(jì)到大量的進(jìn)程以及相同進(jìn)程的不同實(shí)例锹引,需要一種有效的進(jìn)程id來做唯一標(biāo)識(shí)缨硝。 對(duì)于這種數(shù)據(jù)結(jié)構(gòu)的需求是: 盡可能簡單芋簿,易讀 省空間 對(duì)于游戲的服務(wù)器進(jìn)...

  • CPP技巧整理 —— 依賴注入

    設(shè)計(jì)模式里面有一個(gè)很重要的思想,原話可能是“不要依賴于具體说墨,而是要依賴于抽象”骏全。在軟件的設(shè)計(jì)中,這種思想可謂算是指導(dǎo)思想了尼斧。比如系統(tǒng)要設(shè)計(jì)一個(gè)rpc服務(wù)姜贡。一種比較好的設(shè)計(jì)思路...

  • CPP技巧整理 —— 關(guān)于動(dòng)態(tài)庫中調(diào)用外部符號(hào)

    在開發(fā)中,經(jīng)常有這樣的場景棺棵,把一些功能打包為一個(gè)動(dòng)態(tài)庫楼咳,這個(gè)庫作為工具人,可以被其他不同進(jìn)程鏈接烛恤,然后把自己的功能提供給對(duì)應(yīng)鏈接的目標(biāo)程序母怜。這也是動(dòng)態(tài)庫最常見的用法,如下所示...

  • 鏈接順序依賴導(dǎo)致未定義符號(hào)的問題

    最近遇到一個(gè)問題缚柏,有兩個(gè)底層依賴模塊苹熏,分別是dep1和dep2。在dep1中有調(diào)用dep2的代碼。本地開發(fā)完畢后轨域,合入分支編譯報(bào)錯(cuò) 提示符號(hào)未定義袱耽。但是,本地編譯是正常的干发,在...

  • 120
    隨機(jī)洗牌算法整理

    在游戲里面有各種“隨機(jī)”的需求朱巨,比如從n個(gè)用戶里面隨機(jī)給m個(gè)發(fā)獎(jiǎng)勵(lì)。那么铐然,要如何實(shí)現(xiàn)呢蔬崩?簡單的來說,可以調(diào)一個(gè)stl的函數(shù)來實(shí)現(xiàn)搀暑,偽代碼如下: 那shuffle背后是怎么實(shí)現(xiàn)...

  • 120
    使用-finstrument進(jìn)行函數(shù)調(diào)用追蹤

    假設(shè)有個(gè)場景沥阳,希望在程序在執(zhí)行的時(shí)候,調(diào)用函數(shù)的時(shí)候可以自動(dòng)打印出它的調(diào)用棧自点⊥┖保或者說希望自動(dòng)打印出在這個(gè)函數(shù)中的執(zhí)行時(shí)間。比如這段程序桂敛,希望執(zhí)行到任何函數(shù)的時(shí)候功炮,都打印出它的...

  • 120
    PB反射技巧整理

    Protobuff是一個(gè)與開發(fā)語言、平臺(tái)無關(guān)序列化的工具术唬,廣泛應(yīng)用于需要跨進(jìn)程傳輸數(shù)據(jù)的場景薪伏。除此之外,PB還提供了強(qiáng)大的反射能力粗仓〖藁常可以利用反射的技巧,可以大量降低重復(fù)的代碼...

  • 120
    PB插件開發(fā)指南

    protobuf 中提供的編譯器protoc借浊,支持開發(fā)者自定義plugin的擴(kuò)展塘淑,根據(jù).proto文件生成各種各樣的代碼。官方文檔 https://developers.go...

  • 120
    lua和C相互調(diào)用

    lua可以通過與C函數(shù)相互調(diào)用來擴(kuò)展程序功能蚂斤,在C中嵌入lua腳本既可以讓用戶在不重新編譯代碼的情況下修改lua代碼更新程序存捺,也可以給用戶提供一個(gè)自由定制的接口,這種方法遵循...

  • C++獲得程序的調(diào)用棧的幾種方法

    打印程序的調(diào)用棧是一種常見的debug工具曙蒸,最常用的就是backtrace函數(shù)去獲得堆棧信息捌治。不過,這個(gè)函數(shù)的調(diào)用成本很高纽窟,是容易使用不當(dāng)具滴,造成性能問題。在這里整理幾種獲得程...

  • 120
    jemalloc內(nèi)存泄漏分析

    jemalloc 是一款內(nèi)存分配器, 除了可以提高分配內(nèi)存的效率之外师倔。jemalloc還可以通過profiling機(jī)制來發(fā)現(xiàn)并定位內(nèi)存泄漏构韵。 1. 安裝 官方提供的insta...

  • shell腳本攻略

    年后在微信讀書上面看到兩本關(guān)于linux shell的書周蹭,分別是《linux shell腳本攻略》 和 《linux 性能優(yōu)化》。漲了寫奇怪的姿勢疲恢,Mark在這里凶朗。 tee ...

  • 對(duì)于一個(gè)函數(shù)調(diào)用,比如main 調(diào)用 square显拳,在進(jìn)入square的首地址后棚愤,才會(huì)進(jìn)行壓棧(push rbp)。如果在調(diào)用squere的函數(shù)前杂数,已經(jīng)把squere首地址插入跳轉(zhuǎn)到其他函數(shù)的匯編后宛畦,square函數(shù)的push rbp已經(jīng)被覆蓋了,square函數(shù)的棧幀并不會(huì)被真正的建立揍移。

    一種基于so的C/C++服務(wù)熱更新方案

    對(duì)于線上的服務(wù)次和,經(jīng)常會(huì)出現(xiàn)xxx服務(wù)的某一段邏輯里面有bug,需要緊急修復(fù)那伐。對(duì)于無狀態(tài)的服務(wù)踏施,可以修復(fù)之后,直接重啟罕邀。但是畅形,對(duì)于有狀態(tài)的服務(wù),重啟意味著內(nèi)存狀態(tài)丟失和長連接斷...

  • 0000000000401106 <_Z6squarei>:
    401106: 55 push %rbp
    401107: 48 89 e5 mov %rsp,%rbp
    40110a: 89 7d fc mov %edi,-0x4(%rbp)
    40110d: 8b 45 fc mov -0x4(%rbp),%eax
    401110: 01 c0 add %eax,%eax
    401112: 5d pop %rbp
    401113: c3 retq

    0000000000401114 <main>:
    401114: 55 push %rbp
    401115: 48 89 e5 mov %rsp,%rbp
    401118: bf 64 00 00 00 mov $0x64,%edi
    40111d: e8 e4 ff ff ff callq 401106 <_Z6squarei>
    401122: b8 00 00 00 00 mov $0x0,%eax
    401127: 5d pop %rbp
    401128: c3 retq
    401129: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)

    一種基于so的C/C++服務(wù)熱更新方案

    對(duì)于線上的服務(wù)诉探,經(jīng)常會(huì)出現(xiàn)xxx服務(wù)的某一段邏輯里面有bug日熬,需要緊急修復(fù)。對(duì)于無狀態(tài)的服務(wù)肾胯,可以修復(fù)之后竖席,直接重啟。但是阳液,對(duì)于有狀態(tài)的服務(wù),重啟意味著內(nèi)存狀態(tài)丟失和長連接斷...

  • 程序調(diào)試的一些心得和經(jīng)驗(yàn)

    整理程序調(diào)試的一些踩坑揣炕,經(jīng)驗(yàn)整理帘皿,注意事項(xiàng)等。 C++后端開發(fā)的踩坑整理http://www.reibang.com/p/b67222570785[https://www....

  • 120
    C++模板實(shí)用技巧

    整理C++模板在開發(fā)中的一些使用技巧 編譯期靜態(tài)檢查 實(shí)現(xiàn)可以檢查類型的memcpy (避免手滑拷貝了兩個(gè)不一樣長度的對(duì)象) 根據(jù)T是否是某個(gè)類的派生類 根據(jù)T是不是int匹...

  • 120
    基于LD_PRELOAD的動(dòng)態(tài)庫函數(shù)hook

    1. LD_PRELOAD 實(shí)現(xiàn)注入的原理 LD_PRELOAD是linux系統(tǒng)中的一個(gè)環(huán)境變量畸陡,它可以指定優(yōu)先加載某個(gè)動(dòng)態(tài)庫鹰溜。當(dāng)主程序中有相同的符號(hào)出現(xiàn)在不同的動(dòng)態(tài)庫中,會(huì)...

個(gè)人介紹
至少做一個(gè)有態(tài)度的程序員
亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品