Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
Нарушил, 10 блоков,акка
72 / 72 / 11
Регистрация: 19.07.2013
Сообщений: 250
1

Релиз программы

23.07.2013, 21:08. Показов 3290. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Возник такой вопрос. Так-как я совсем недавно стал изучать шарп, буквально месяц, мне стало интересно как делаются релизы программ? А то я всё в режиме дебага делаю.А нужна версия для пользователей.

Я конечно могу тупо все ресурсы перетащить в папку release, но вот тут вопрос как компилятор на это реагирует?
Есть ли разница в коде, и не мусорит ли он в режиме дебага, чего лишнего, для релиза?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2013, 21:08
Ответы с готовыми решениями:

Вывод программы в релиз
Здравствуйте. Написал программу, в процессе разработки устанавливал Nuget пакет...

Релиз программы без зависимости от .NET
Подскажите, возможно ли как то сделать, что бы программу можно было запускать одним файлом на любом...

Релиз приложения
Здравствуйте! Товарищи гуру кода, просветите пожалуйста в вопросе с которым, вероятно,...

Код из System.Diagnostics тоже компилируется в релиз
internal bool Save(Guid id) { using (SqlConnection connection = new...

10
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
23.07.2013, 21:21 2
релиз версию можно сделать, выбрав в комбобоксе строку Release. Комбобокс этот находится рядом с кнопкой которая запускает программу, отладку
0
Нарушил, 10 блоков,акка
72 / 72 / 11
Регистрация: 19.07.2013
Сообщений: 250
23.07.2013, 21:38  [ТС] 3
Цитата Сообщение от Монфрид Посмотреть сообщение
релиз версию можно сделать, выбрав в комбобоксе строку Release. Комбобокс этот находится рядом с кнопкой которая запускает программу, отладку
Мэйби у мну другая IDE, но скомбобокса там нет . Да и на вопрос вы не ответили
0
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 21:56 4
Итори, версия и редакция студии какая? В экспресс версиях нельзя делать релизную версию.
Цитата Сообщение от Итори Посмотреть сообщение
Я конечно могу тупо все ресурсы перетащить в папку release, но вот тут вопрос как компилятор на это реагирует?
Никак. Почему компилятор должен реагировать на какие-то левые файлы, которые находятся абы где?
Цитата Сообщение от Итори Посмотреть сообщение
Есть ли разница в коде, и не мусорит ли он в режиме дебага, чего лишнего, для релиза?
Разница в том, что в релизной версии сам код оптимизирован и нет отладочной информации.

Через студию способ собирания изменяется в настройках решения. Без студии - ключами к компилятору csc.exe.

Добавлено через 3 минуты
Цитата Сообщение от I2um1 Посмотреть сообщение
в релизной версии сам код оптимизирован и нет отладочной информации.
Бывают еще забавные случаи, встречал в WPF, когда релизная версия работает, а отладочная нет.
0
Нарушил, 10 блоков,акка
72 / 72 / 11
Регистрация: 19.07.2013
Сообщений: 250
23.07.2013, 22:54  [ТС] 5
Вы на вопрос не ответили Как работает компилятор
А комбобокса в стандарте у мну нет, VS2010

Добавлено через 56 секунд
Ассемблерные выкладки, вот это да , а так будет плохо работать ((

Добавлено через 6 минут
Проблема вот где)
Я на языке ассемблера говорю, вот у меня тут переменная , запиши в стек, я её потом получу, а вот тут другая, давай мне я вызову функцию.

Буквально:;********* Установка начальных значений *****
;----Установка работы АЦП----------

;Разряды REFS1 и REFS0 регистра ADMUX установлены в 0 т.к к входу AREF подключен источник опорного напряжения.
;mux4..mux0 0000 0111 установлены на PA7
ldi tmp,7
out ADMUX,tmp
;0 В ADTSx для нерерывного преобразования
clr tmp
out SFIOR,tmp
;Запуск АЦП
clr CN1
clr CN2
clr CN3
clr NUMBER
clr COUN1
clr COUN2
clr COUN3
ldi Po,$10
;--------------------------------------------
clr FlagR
clr Mn1
clr Mn2
;******


Вот это понятно, что делает шарп непонятно
0
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 23:01 6
Цитата Сообщение от Итори Посмотреть сообщение
Как работает компилятор
Такого вопроса не было. Ну ладно, отвечаю:
Компилятор транслирует исходный код на языке высокого уровня в аналог на низком, он же промежуточный код - IL. Компилятор - это такой себе сложный парсер + транслятор, а потому обработку исходного кода можно разбить на этапы:
- Парсинг исходного кода (лексический, синтаксический, семантический анализ).
- Оптимизация полученного результата.
- Трансляция в IL.
1
Нарушил, 10 блоков,акка
72 / 72 / 11
Регистрация: 19.07.2013
Сообщений: 250
23.07.2013, 23:03  [ТС] 7
Вот простые операции:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;--------Объединяем значения------------
add CN1,COUNT1
ldi TMP,10
cp CN1,TMP
brlo skm1
inc CN2
sub CN1,tmp
skm1:
add CN2,COUNT2
cp CN2,TMP
brlo skm2
inc CN3
sub CN2,tmp
skm2:
add CN3,COUNT3
cp CN3,TMP
brlo skm3
sub CN3,tmp
skm3:
Вот это понятно, не понятно что компилятор шарпа производит, ну извините я тупой больно , может кто-то пояснит как работает?
0
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 23:04 8
Цитата Сообщение от Итори Посмотреть сообщение
Вот это понятно, что делает шарп непонятно
Если что-то непонятно, говорят соответствующий учебник помогает.
В чем суть вопроса?

Добавлено через 1 минуту
Цитата Сообщение от Итори Посмотреть сообщение
Вот это понятно, не понятно что компилятор шарпа производит, ну извините я тупой больно , может кто-то пояснит как работает?
Компилятор производит байт-код (он же промежуточный код), а не машинный код, который выполняет виртуальная машина, а не процессор.
0
Нарушил, 10 блоков,акка
72 / 72 / 11
Регистрация: 19.07.2013
Сообщений: 250
23.07.2013, 23:09  [ТС] 9
Что на выходе то? по поводу то что он транслирует в язык .net, я читал, дальше что примеры, и что он делает.

Главный вопрос, есть ли разница? Что компилятор делает?

Добавлено через 3 минуты
Ну где вскрытия-то?
Я знаю как работает 16 разрядный асм , он простой очень , там всё понятно
как оно работает?))Шарп как работает , какие машинные коды он отдает? может лишнего много ?
0
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
23.07.2013, 23:12 10
Цитата Сообщение от Итори Посмотреть сообщение
Что на выходе то?
Я ведь могу бесконечное число раз повторять, что на выходе IL (Intermediate Language).

Цитата Сообщение от Итори Посмотреть сообщение
Главный вопрос, есть ли разница?
"Разница в том, что в релизной версии сам код оптимизирован и нет отладочной информации.". Что там IL, что здесь IL.

Цитата Сообщение от Итори Посмотреть сообщение
Что компилятор делает?
Компилятор IL делает.

И хватит сюда со своим ассемблером лезть. Дальше IL ничего нет. В exe-файле хранится IL. Виртуальная машина хавает этот IL и преобразовывает на лету IL-инструкции в инструкции машинного кода. (JIT)
0
Нарушил, 10 блоков,акка
72 / 72 / 11
Регистрация: 19.07.2013
Сообщений: 250
24.07.2013, 09:27  [ТС] 11
Эхъ,раньше проще было, что так делает компилятор,одному богу известно...

Ну ладно ответ на вопрос я получил
0
24.07.2013, 09:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2013, 09:27
Помогаю со студенческими работами здесь

Включение файлов (картинок) с абсолютным путем в распространяемый релиз
Помогите пожалуйста, создал элементарный проект в VS 2017 WPF. В проекте вид кнопок изменен с...

Непонятная работа релиз сборки
Решил посмотреть, насколько эффективно распараллеливание, написал такой вот код: using System;...

как правильно собрать релиз?
господа! Подскажите плиз... разрабатываю в Visual Studio C# 2005 некое приложение по...

Как склеить все файлы при компиляции (релиз)?
После того как скомпилировал проект в режиме релиза увидел вот такую картину. Как можно склеить все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru