реклама на сайте
подробности

 
 
> Снова к вопросу о разбухании кода arm-gcc
glonium
сообщение May 30 2012, 06:22
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 27-05-11
Пользователь №: 65 303



Добрый день господа форумчане!
Настроил среду разработки Eclipse как сказано тут http://makesystem.net/?p=988
Использую toolchain Codebench Lite!
Написал простенький список (приложен ниже) и скомпилировал проект когда посмотрел на размер кода был немного обескуражен!
Размер кода стал равен 87384 Байт!
В оптимизаторе поставил генерировать отдельные секции и в линкере удалять неиспользуемые секции, но не помогает!
В чём тут может быть дело?

PS Может поменять компилятор, вернее версию??? Что то где-то слышал что помогает!
Вот только на какую менять???

Сообщение отредактировал glonium - May 30 2012, 06:17
Прикрепленные файлы
Прикрепленный файл  list.rar ( 1.64 килобайт ) Кол-во скачиваний: 21
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
glonium
сообщение Jun 1 2012, 13:58
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 27-05-11
Пользователь №: 65 303



Поэкспериментировав с перегрузкой операторов new и delete пришёл к интересным заключениям!
Вариант 1 :
Код
#include "stmlib/stm32f10x.h"
#include <stdlib.h>

void *operator new (size_t size)
{
    return malloc(size);
}
void operator delete (void *p)
{
    free(p);
    return;
}

int main (void)
{
    int *a=new int(10);
    while (1){};
    return 0;
}

Компилиться в 4 Кб с использованием стандартных free и malloc!
2 Случай
Код
/*
void *operator new (size_t size)
{
    return malloc(size);
}
void operator delete (void *p)
{
    free(p);
    return;
}
*/
int main (void)
{
    int *a=new int(10);
    while (1){};
    return 0;
}

Компилиться в 80Кб!
Почему такая разница? Вроде стандартный new и delete опирается на стандартные malloc и free!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- glonium   Снова к вопросу о разбухании кода arm-gcc   May 30 2012, 06:22
- - Непомнящий Евгений   Ну смотри - ты приложил хидер с шаблоном. Шаблон п...   May 30 2012, 06:52
- - glonium   Прошу прошения что то не подумал выложить проект...   May 30 2012, 08:04
- - Непомнящий Евгений   дык а map ты не пытался сгенерить? Сгенери, посмот...   May 30 2012, 08:09
- - glonium   Да сгенерил только ничего не понял из него в нём к...   May 30 2012, 09:12
|- - Сергей Борщ   Насчет исключений не подскажу, полагаю, что поддер...   May 30 2012, 09:47
- - glonium   Спасибо за ответ! Интересное предложение. А со...   May 30 2012, 13:06
|- - Сергей Борщ   QUOTE (glonium @ May 30 2012, 16:06) А со...   May 30 2012, 13:21
|- - Сергей Борщ   А если так: CODE#include <new> ..... */ in...   Jun 1 2012, 14:47
- - glonium   ЦитатаА если так: CODE #include <new> ..... ...   Jun 1 2012, 15:00
|- - _Артём_   Цитата(glonium @ Jun 1 2012, 18:00) Так т...   Jun 1 2012, 15:16
- - glonium   ЦитатаP.S. И какой компилятор?. Использую CodeBenc...   Jun 1 2012, 15:45
|- - AHTOXA   Чтобы не подтягивались исключения, надо компилиров...   Jun 1 2012, 16:13
- - glonium   ЦитатаЧтобы не подтягивались исключения, надо комп...   Jun 1 2012, 16:37
|- - AHTOXA   Цитата(glonium @ Jun 1 2012, 22:37) PS ви...   Jun 1 2012, 17:38
- - glonium   ЦитатаПосмотрите map-файл, и увидите, что это всё-...   Jun 1 2012, 22:25
|- - AHTOXA   А чего там уметь-то? Смотрите, видите "eh_exc...   Jun 2 2012, 14:33
- - glonium   Да очень жаль конечно что всё это весит много...   Jun 8 2012, 12:12
|- - _Артём_   Цитата(glonium @ Jun 8 2012, 15:12) В про...   Jun 8 2012, 19:21
|- - alx2   Цитата(glonium @ Jun 8 2012, 17:12) Народ...   Jun 11 2012, 10:38
- - glonium   так то так но вот предположим у нас есть список об...   Jun 10 2012, 09:56
|- - neiver   Цитата(glonium @ Jun 10 2012, 13:56) так ...   Jun 11 2012, 11:52
- - glonium   Спасибо за книгу интересные моменты обсуждаются...   Jun 16 2012, 17:13
- - neiver   Вот! Именно для этого есть принципы SOLID. Оче...   Jun 16 2012, 20:02
- - glonium   Это конечно всё понятно принципы SOLID! Вот то...   Jun 21 2012, 06:26


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 18:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01397 секунд с 7
ELECTRONIX ©2004-2016