История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
apt install musl-dev musl-tools
curl https://www.lua.org/ftp/lua-5.4.7.tar.gz -o lua.tar.gz
tar -xvzf lua.tar.gz && cd lua-5.4.7
make -j6 CC=musl-gcc
touch hello.c
#include "../lua-5.4.7/src/lua.h"
#include "../lua-5.4.7/src/lualib.h"
#include "../lua-5.4.7/src/lauxlib.h"
int main(int argc, char **argv)
{
const char * src = "print('Hello, World!')";
lua_State * L = luaL_newstate();
luaL_openlibs(L);
luaL_dostring(L,src);
return 0;
}
musl-gcc -static hello.c -L./src/ -llua -I./src -lm
stat ./a.out
Размер: 395584
ldd ./a.out
не является динамическим исполняемым файлом
strip ./a.out
stat ./a.out
Размер: 346016
./a.out
Hello, World!
В 19 раз меньше.
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello, World!\n");
return 0;
}
musl-gcc -static hello.c
stat ./a.out
Размер: 24672
strip ./a.out
stat ./a.out
Размер: 17800
ldd ./a.out
не является динамическим исполняемым файлом
./a.out
Hello, World!
В 347 раз меньше
💞C³⁴⁷🕺💃Lua¹⁹💞
Исходная версия LINUX-ORG-RU, :
apt install musl-dev musl-tools
curl curl https://www.lua.org/ftp/lua-5.4.7.tar.gz -o lua.tar.gz
tar -xvzf lua.tar.gz && cd lua-5.4.7
make -j6 CC=musl-gcc
touch hello.c
#include "../lua-5.4.7/src/lua.h"
#include "../lua-5.4.7/src/lualib.h"
#include "../lua-5.4.7/src/lauxlib.h"
int main(int argc, char **argv)
{
const char * src = "print('Hello, World!')";
lua_State * L = luaL_newstate();
luaL_openlibs(L);
luaL_dostring(L,src);
return 0;
}
musl-gcc -static hello.c -L./src/ -llua -I./src -lm
stat ./a.out
Размер: 395584
ldd ./a.out
не является динамическим исполняемым файлом
strip ./a.out
stat ./a.out
Размер: 346016
./a.out
Hello, World!
В 19 раз меньше.
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello, World!\n");
return 0;
}
musl-gcc -static hello.c
stat ./a.out
Размер: 24672
strip ./a.out
stat ./a.out
Размер: 17800
ldd ./a.out
не является динамическим исполняемым файлом
./a.out
Hello, World!
В 347 раз меньше
💞C³⁴⁷🕺💃Lua¹⁹💞