Date: Sun, 21 Jun 2026 10:56:27 UTC
Why is Hello World for C++23 so large?
Here are the binary sizes of the configurations I've tried.
| Configuration | Binary Size |
|---------------|-------------|
| C++ (default) | 348K |
| C++ (-O3) | 146K |
| C (-O3) | 5.7K |
| C++ (default) | 348K |
| C++ (-O3) | 146K |
| C (-O3) | 5.7K |
Here is the bash shell.
~ $ cat print.cpp
#include<print> int main() {std::print("Hello,world~\n");}
~ $ g++ print.cpp -o print print.cpp:2:18: error: no member named
'print' in namespace 'std' 2 | int main() {std::print("Hello,world~\n");}
| ^~~~~ 1 error generated.
~ $ g++ print.cpp -o print -std=c++23
~ $ ls -lh ./print
-rwx------. 1 u0_a296 u0_a296 348K Jun 21 18:02 ./print ~ $ g++ print.cpp -o print -std=c++23 -O3
~ $ ls -lh ./print
-rwx------. 1 u0_a296 u0_a296 146K Jun 21 18:02 ./print ~ $ nm -C print | wc -l
303
~ $ nm -C print | grep "format"
000000000000a880 t std::__ndk1::__format_spec::__parser<char>::__validate[abi:ne210000](std::__ndk1::__format_spec::__fields[abi:ne210000], char const*, unsigned int) const
000000000000adac t std::__ndk1::__format_spec::__parsed_specifications<char> std::__ndk1::__format_spec::__parser<char>::__get_parsed_std_specifications[abi:ne210000]<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&) const
000000000000df4c t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter_char<char>::format[abi:ne210000]<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&) const
0000000000015880 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter_string<char>::format[abi:ne210000]<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char>>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&) const 000000000000ac0c t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_bool[abi:ne210000]<char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(bool, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>)
0000000000013920 t std::__ndk1::__formatter::__float_result std::__ndk1::__formatter::__format_buffer[abi:ne210000]<double, double>(std::__ndk1::__formatter::__float_buffer<double>&, double, bool, bool, std::__ndk1::__format_spec::__sign, std::__ndk1::__format_spec::__type) 00000000000151e0 t std::__ndk1::__formatter::__float_result std::__ndk1::__formatter::__format_buffer[abi:ne210000]<double, long double>(std::__ndk1::__formatter::__float_buffer<double>&, long double, bool, bool, std::__ndk1::__format_spec::__sign, std::__ndk1::__format_spec::__type)
0000000000011dcc t std::__ndk1::__formatter::__float_result std::__ndk1::__formatter::__format_buffer[abi:ne210000]<float, float>(std::__ndk1::__formatter::__float_buffer<float>&, float, bool, bool, std::__ndk1::__format_spec::__sign, std::__ndk1::__format_spec::__type) 000000000000c980 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_integer[abi:ne210000]<unsigned int, char*, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(unsigned int, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>, bool, T0, T0, char const*, int) 000000000000af24 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_integer[abi:ne210000]<unsigned int, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(unsigned int, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>, bool)
000000000000f0d8 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_integer[abi:ne210000]<unsigned long, char*, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(unsigned long, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>, bool, T0, T0, char const*, int)
000000000000ef88 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_integer[abi:ne210000]<unsigned long, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(unsigned long, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>, bool) 000000000000ff48 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_integer[abi:ne210000]<unsigned __int128, char*, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(unsigned __int128, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>, bool, T0, T0, char const*, int) 000000000000fda8 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_integer[abi:ne210000]<unsigned __int128, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(unsigned __int128, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>, bool)
000000000000d560 t decltype(fp1) std::__ndk1::__formatter::__write_transformed[abi:ne210000]<char*, char, char, char (*)(char), std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(char*, char*, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__format_spec::__parsed_specifications<char>, char (*)(char)) 000000000000e010 t decltype(fp0) std::__ndk1::__formatter::__format_escaped_char[abi:ne210000]<char, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(T, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__format_spec::__parsed_specifications<T>) 00000000000159f4 t decltype(fp0) std::__ndk1::__formatter::__format_escaped_string[abi:ne210000]<char, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(std::__ndk1::basic_string_view<T, std::__ndk1::char_traits<T>>, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__format_spec::__parsed_specifications<T>)
00000000000131c8 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_floating_point[abi:ne210000]<double, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(double, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>)
0000000000014a78 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_floating_point[abi:ne210000]<long double, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(long double, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>)
0000000000011540 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__formatter::__format_floating_point[abi:ne210000]<float, char, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(float, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&, std::__ndk1::__format_spec::__parsed_specifications<char>) 000000000000b074 t decltype(fp0) std::__ndk1::__formatter::__write_string_no_precision[abi:ne210000]<char, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(std::__ndk1::basic_string_view<T, std::__ndk1::char_traits<T>>, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__format_spec::__parsed_specifications<T>) 0000000000012e44 t decltype(fp1) std::__ndk1::__formatter::__write_using_trailing_zeros[abi:ne210000]<char, char, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(T const*, T const*, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__format_spec::__parsed_specifications<char>, unsigned long, T const*, unsigned long) 0000000000013ee0 t std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>> std::__ndk1::__formatter::__format_locale_specific_form[abi:ne210000]<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, double, char>(std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__formatter::__float_buffer<double> const&, std::__ndk1::__formatter::__float_result const&, std::__ndk1::locale, std::__ndk1::__format_spec::__parsed_specifications<char>) 000000000001238c t std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>> std::__ndk1::__formatter::__format_locale_specific_form[abi:ne210000]<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, float, char>(std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__formatter::__float_buffer<float> const&, std::__ndk1::__formatter::__float_result const&, std::__ndk1::locale, std::__ndk1::__format_spec::__parsed_specifications<char>) 000000000000e924 t bool std::__ndk1::__formatter::__is_escaped_sequence_written[abi:ne210000]<char>(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>&, char32_t, bool, std::__ndk1::__formatter::__escape_quotation_mark) 000000000000ea64 t bool std::__ndk1::__formatter::__is_escaped_sequence_written[abi:ne210000]<char>(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>&, bool, char32_t)
000000000000d03c t std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>> std::__ndk1::__formatter::__write_using_decimal_separators[abi:ne210000]<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char*, char>(std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, T0, T0, T0, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>&&, char, std::__ndk1::__format_spec::__parsed_specifications<char>) 0000000000011c98 t std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>> std::__ndk1::__formatter::__format_floating_point_non_finite[abi:ne210000]<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>(std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__format_spec::__parsed_specifications<char>, bool, bool)
000000000000eb68 t void std::__ndk1::__formatter::__write_well_formed_escaped_code_unit[abi:ne210000]<char>(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>&, char32_t)
0000000000014998 t std::__ndk1::__formatter::__float_result std::__ndk1::__formatter::__format_buffer_hexadecimal_upper_case[abi:ne210000]<double, double>(std::__ndk1::__formatter::__float_buffer<double> const&, double, int, char*) 00000000000157a0 t std::__ndk1::__formatter::__float_result std::__ndk1::__formatter::__format_buffer_hexadecimal_upper_case[abi:ne210000]<double, long double>(std::__ndk1::__formatter::__float_buffer<double> const&, long double, int, char*)
00000000000130e8 t std::__ndk1::__formatter::__float_result std::__ndk1::__formatter::__format_buffer_hexadecimal_upper_case[abi:ne210000]<float, float>(std::__ndk1::__formatter::__float_buffer<float> const&, float, int, char*)
000000000000c734 t std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>> std::__ndk1::__formatter::__fill[abi:ne210000]<char, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, unsigned long, std::__ndk1::__format_spec::__code_point<T>)
000000000000b230 t decltype(fp0) std::__ndk1::__formatter::__write[abi:ne210000]<char, char, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(std::__ndk1::basic_string_view<T, std::__ndk1::char_traits<T>>, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, std::__ndk1::__format_spec::__parsed_specifications<char>, long)
000000000000e1e4 t void std::__ndk1::__formatter::__escape[abi:ne210000]<char>(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>&, std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char>>, std::__ndk1::__formatter::__escape_quotation_mark) 0000000000008fc4 t T std::__ndk1::__vformat_to[abi:ne210000]<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char, std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>>(T, std::__ndk1::basic_string_view<T0, std::__ndk1::char_traits<T0>>, std::__ndk1::basic_format_args<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, T0>>) 000000000000934c t std::__ndk1::format_error::format_error[abi:ne210000](char const*) 0000000000009378 t std::__ndk1::format_error::~format_error()
000000000000a738 t std::__ndk1::__format_spec::__throw_invalid_type_format_error[abi:ne210000](char const*)
000000000000a970 t std::__ndk1::__format_spec::__throw_invalid_option_format_error[abi:ne210000](char const*, char const*)
000000000000b45c t std::__ndk1::__format_spec::__column_width_result<char const*> std::__ndk1::__format_spec::__detail::__estimate_column_width_grapheme_clustering[abi:ne210000]<char const*>(char const*, char const*, unsigned long, std::__ndk1::__format_spec::__column_width_rounding) 000000000000a49c t void std::__ndk1::__format_spec::__parser<char>::__parse_type[abi:ne210000]<char const*>(char const*&)
000000000000a16c t bool std::__ndk1::__format_spec::__parser<char>::__parse_width[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>>(char const*&, char const*, std::__ndk1::basic_format_parse_context<char>&) 000000000000a2e8 t bool std::__ndk1::__format_spec::__parser<char>::__parse_precision[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>>(char const*&, char const*, std::__ndk1::basic_format_parse_context<char>&) 000000000000a010 t bool std::__ndk1::__format_spec::__parser<char>::__parse_fill_align[abi:ne210000]<char const*>(T&, T)
0000000000009dd0 t std::__ndk1::basic_format_parse_context<char>::iterator std::__ndk1::__format_spec::__parser<char>::__parse[abi:ne210000]<std::__ndk1::basic_format_parse_context<char>>(std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::__format_spec::__fields[abi:ne210000]) 000000000000c8ec t decltype(auto) std::__ndk1::__visit_format_arg[abi:ne210000]<unsigned int std::__ndk1::__format_spec::__substitute_arg_id[abi:ne210000]<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(std::__ndk1::basic_format_arg<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>)::'lambda'(std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>), std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&&, std::__ndk1::basic_format_arg<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>)
0000000000009568 t decltype(auto) std::__ndk1::__visit_format_arg[abi:ne210000]<char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*), std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*&&, std::__ndk1::basic_format_arg<std::__ndk1::basic_format_parse_context<char>>) 00000000000091c4 t std::__ndk1::__throw_format_error[abi:ne210000](char const*)
0000000000009b98 t std::__ndk1::invoke_result<char const*, void const*&>::type std::__ndk1::invoke[abi:ne210000]<char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*), void const*&>(char const*&&, void const*&) 0000000000009a9c t std::__ndk1::invoke_result<char const*, char&>::type std::__ndk1::invoke[abi:ne210000]<char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*), char&>(char const*&&, char&)
0000000000008c3c t void std::__ndk1::__print::__vprint_nonunicode[abi:ne210000]<void>(__sFILE*, std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char>>, std::__ndk1::basic_format_args<std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>, bool) 0000000000009094 t std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>::iterator std::__ndk1::__format::__vformat_to[abi:ne210000]<std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(std::__ndk1::basic_format_parse_context<char>&&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&&)
00000000000093a0 t std::__ndk1::__format::__parse_number_result<char const*> std::__ndk1::__format::__parse_arg_id[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&)
0000000000008f18 t std::__ndk1::__format::__allocating_buffer<char>::__prepare_write[abi:ne210000](std::__ndk1::__format::__output_buffer<char>&, unsigned long) 0000000000009214 t char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&) U std::__ndk1::to_chars(char*, char*, double, std::__ndk1::chars_format)
U std::__ndk1::to_chars(char*, char*, double, std::__ndk1::chars_format, int)
U std::__ndk1::to_chars(char*, char*, long double, std::__ndk1::chars_format)
U std::__ndk1::to_chars(char*, char*, long double, std::__ndk1::chars_format, int) U std::__ndk1::to_chars(char*, char*, float, std::__ndk1::chars_format)
U std::__ndk1::to_chars(char*, char*, float, std::__ndk1::chars_format, int)
000000000001ea20 V typeinfo for std::__ndk1::format_error 0000000000002961 V typeinfo name for std::__ndk1::format_error
000000000001ea38 V vtable for std::__ndk1::format_error
0000000000009c74 t auto char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*)::operator()<bool>(char const*) const 000000000000ecc8 t auto char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*)::operator()<int>(char const*) const
0000000000011140 t auto char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*)::operator()<unsigned int>(char const*) const
000000000000fc4c t auto char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*)::operator()<__int128>(char const*) const 00000000000113f0 t auto char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*)::operator()<unsigned __int128>(char const*) const 000000000000ee28 t auto char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*)::operator()<long long>(char const*) const 0000000000011298 t auto char const* std::__ndk1::__format::__handle_replacement_field[abi:ne210000]<char const*, std::__ndk1::basic_format_parse_context<char>, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__ndk1::basic_format_parse_context<char>&, std::__ndk1::basic_format_context<std::__ndk1::back_insert_iterator<std::__ndk1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*)::operator()<unsigned long long>(char const*) const
~ $ size -A print print :
section size addr .interp 21 624
.note.android.ident 152 648 .dynsym 1488 800
.gnu.version 124 2288 .gnu.version_r 64 2412
.gnu.hash 28 2480 .dynstr 1506 2508
.rela.dyn 960 4016 .rela.plt 1224 4976
.rodata 17004 6208
.plt 848 108240
.bss 2120 143048 .comment 225 0
Total 112352
~ $ cat > puts.c << 'EOF'
> #include <stdio.h> > int main() { puts("Hello,world~"); }
> EOF ~ $ gcc puts.c -o puts -O3
~ $ ls -lh puts -rwx------. 1 u0_a296 u0_a296 5.7K Jun 21 18:38 puts
~ $
Received on 2026-06-21 10:56:44
