Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > размер exe файла


Автор: YahоО 4.7.2021, 23:06
При любом способе создания и компиляции ConsoIeHelloWorld — в командной строке или в Visual C# .NET — файл .ехе будет небольшим — 3 или 4 Кб  [Ч.Петцольд 2002]

Код

using System;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}


а у меня ConsoleApp1.exe получился 174 Кб - почему так?
и можно ли все таки создать файл размером таким как пишут в книгах?

Автор: _zorn_ 9.7.2021, 13:44
Цитата(YahоО @  5.7.2021,  06:06 Найти цитируемый пост)
Ч.Петцольд 2002

За 20 лет многое изменилось  smile 

Цитата(YahоО @  5.7.2021,  06:06 Найти цитируемый пост)
и можно ли все таки создать файл размером таким как пишут в книгах? 

Ну возьмите компилятор 2002 года... если найдете и если он вообще запустится на современной системе.

Автор: YahоО 11.7.2021, 12:11
174 Кб / 3 Кб = 58
Нда, в 58 раз  за пару десятков лет, прогресс в обратную сторону направлен?
Даже боязно стало, что же будет еще лет эдак через десять-двадцать ))))

com файлы, однако, и с ними то же самое произойдет? максимум 2 в 16 степени байт уйдет в отстой? не может быть...

Автор: _zorn_ 11.7.2021, 22:40
Там в вашей книжке не сказали, что сам по себе .NET фреймворк весит окола 50-100 метров ? (на тот момент)
 smile 

Ну а без него все ваши 1кб ехе фейлы тупо не запустятся )

Добавлено через 8 минут
Цитата(YahоО @  11.7.2021,  19:11 Найти цитируемый пост)
com файлы, однако, и с ними то же самое произойдет? м

А че с ними может произойти ? com файл - это тупо набор машинных команд. Выполняй не задумываясь так сказать. С ехе все сложнее.

Автор: YahоО 14.7.2021, 16:02
Успокоили, что хоть com уцелеет,
может он вечный, значит надо перебираться поближе к com!

Однако, если com файл - это тупо набор машинных команд и выполняй не задумываясь, то отчего бы все вот так же - элементарно бери и выполняй подряд все нужные машинные команды и зачем же их считать и тем более ограничивать размером файла, настрочил побольше, длинный предлинный com и пусть машинка работает smile 
А что есть ли такие супердлинные машинные команды в исполняемых файлах, и известно как их создавать? тогда и exe будет уже по боку )) и правильный прогресс обозначится? а то кругом одни модули, модули... +dll

Автор: _zorn_ 16.7.2021, 21:26
Цитата(YahоО @  14.7.2021,  23:02 Найти цитируемый пост)
Успокоили, что хоть com уцелеет,

Ну разве что вы найдете систему где это будет работать )

На самом деле, советую сунутся в опенсурс. Сначала может быть непонятно и не нужно, но будущее за ним )

А сунуться проще чем кажется. Как вариант - исправляегшь косяки в люимой либе и выкладываешь на гитхаб.

Автор: YahоО 18.7.2021, 12:27
На гитхаб рановато как то, не спец я, только учусь.

В c# пытаюсь обогнать c# )))

Например взял BigInteger c = a + b; //ElapsedTicks 213
и то же самое суммирование собственной функцией
string s = mysum(a, b);//ElapsedTicks 74204
потом усовершенствовав свой код удалось улучшить результат до 7762
и даже до 7112
но мой результат все же в разы хуже натива.
Может это потому что asm задействован в штатных вычислениях c# ?

Автор: YahоО 18.7.2021, 14:37
Не поверите!
Но для конкретных двух a и b 
результат измерения времени выполнения моей новой самодельной функции суммирования двух больших чисел оказался лучше чем у штатной с BigInteger более чем в 5 раз !!!

Код в c# обогнал c#    smile 


Автор: _zorn_ 31.7.2021, 20:25
Цитата(YahоО @  18.7.2021,  21:37 Найти цитируемый пост)
результат измерения времени выполнения моей новой самодельной функции суммирования двух больших чисел оказался лучше чем у штатной с BigInteger более чем в 5 раз !!!

Это потому что у вас скорей всего не учитываются какие нибудь граничные условия, и в определенной ситуации ваш код будет работать не правильно smile 
Переполнение например учитывали ?

Автор: Antimol 5.9.2022, 23:40
Цитата(YahоО @ 4.7.2021,  23:06)
При любом способе создания и компиляции ConsoIeHelloWorld — в командной строке или в Visual C# .NET — файл .ехе будет небольшим — 3 или 4 Кб  [Ч.Петцольд 2002]

а у меня ConsoleApp1.exe получился 174 Кб - почему так?
и можно ли все таки создать файл размером таким как пишут в книгах?

Все дело в проекте, автор использовал .net framework а Вы скорее всего .net core

Провел небольшие замеры. Результат следующий: 
  •  .net framework 4.8 (Release) - 4.50 KB (4,608 bytes)
  •  .net core 6.0 (Release) 144 KB (147,968 bytes)




Автор: Objegog 7.9.2022, 05:49
Модератор: Сообщение скрыто.

Автор: hipAppops 10.9.2022, 03:42
Модератор: Сообщение скрыто.

Автор: anceria 13.9.2022, 05:44
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)