C++ Logo

std-proposals

Advanced search

[std-proposals] Huge Hello World

From: amngis_21d38 <amngis_21d38_at_[hidden]>
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 |
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>)
000000000000d7c8 t std::__ndk1::__formatter::__hex_to_upper[abi:ne210000](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
.gcc_except_table        1140    23212                          .eh_frame_hdr            1340    24352
.eh_frame                9848    25696                          .text                   72692    35544
.plt                      848   108240
.data.rel.ro              208   125472                          .dynamic                  400   125680
.got                       88   126080                          .got.plt                  432   126168
.relro_padding            376   126600                          .data                      64   142984
.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