Jump to content

    

Recommended Posts

Решил попробовать написать пробную программку для Nios на С++. Прогаммка такая:

 

#include <iostream>
#include <vector>

int main()
{
    std::cout << "Hello, world!" << std::endl;

    std::vector<int> v;
    v.push_back(25);
    v.push_back(13);

    for ( int n : v ) {
        std::cout << n << '\n';
    }

    std::cout << "Hello, world!" << std::endl;
  
    return 0;
}

Программа конечно работает, но весит примерно 900КБайт. Оптимизации нрактически не влияют.

Нормальный ли такой размер для такой проги? Можно ли как-то её уменьшить?

Share this post


Link to post
Share on other sites
22 hours ago, andrew_b said:

strip сделать?

Да это уменьшает размер .elf файла. Но как я понимаю, не весь .elf файл загружается в память при программировании Nios. Поэтому на размер "программы" это не влияет.

О размере программы я сужу, например, по информации в консоле:

Info: (test1.elf) 802 KBytes program size (code + initialized data).

Т.е. этот размер не зависит от размера самого .elf файла. Хотелось бы уменьшить размер загружаемого кода, потому размер исполняемого файла тойже программы после компиляции в Visual Studio примерно 11КБайт

Share this post


Link to post
Share on other sites

Ради интереса напишите это на plain C. Будете удивлены.

35 minutes ago, djhall said:

размер исполняемого файла тойже программы после компиляции в Visual Studio примерно 11КБайт

При статической линковке? Сомневаюсь...

Share this post


Link to post
Share on other sites
2 hours ago, gosha-z said:

Ради интереса напишите это на plain C. Будете удивлены.

При статической линковке? Сомневаюсь...

Ладно, при статической линковке для VS получилось 181КБайт, но это же всё равно не 800КБайт.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this