簡體   English   中英

我可以使 clang 可執行文件多小?

[英]How small can I make a clang executable?

我只是測試看看我能把這個 C++ 代碼做多小

#include <iostream>
using namespace std;

int main() {
    cout << "hi";
}

使用這個 zsh 命令:

g++ test.cpp -Os -g -o main

但是我能做到的最小的是 52 Kb,那么有沒有辦法讓它更小呢?

將您的代碼和編譯器標志與g++ 11.2一起使用,我得到一個35,8kB的可執行文件(可以通過使用不同的編譯器版本或目標系統來解釋不同的結果)。

  1. 刪除-g標志會使 output 文件的大小降至16,3kB
  2. 您可以通過以下方式( 16,0kB )修改代碼而不更改其功能:
#include <stdio.h>

int main(){
    fputs("hi", stdout);
    return 0;  // doesn't change the output, only here for completeness sake
}
  1. 使用clang編譯上述代碼進一步將 output 可執行文件的大小減少到15,9kB

  2. 添加-s標志: 14,5kB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM