All streams
Search
Write a publication
Pull to refresh
77
19
Храбров Дмитрий @DeXPeriX

Программист

Send message
Эхх. Выкопать бы картошку, продать бы трактор, да махнуть бы куда-нибудь в штаты… Мечты-мечты…
Экран у нука ощутимо хуже киндловского. Подсветка у киндла тоже более плавная. Но преимуществами рутовоного андроида пользуюсь по-полной: и PDF-ридер удобный, и для чтения манги Perfect View просто шикарен. Да и когда покупал на киндлы было много отрицательных отзывов, что через год экран дохнет и показывает полосы. Это исправили?
Эх. Ещё б экран чёрно-белый и две симки в 105 модель — цены бы не было
Спасибо за наводку. Всё прекрасно работает с GCC, подробнее отписал выше
Crinkler ужал разницу до 0.23kb: 1.14kb studio vs. 1.37kb GCC. Но сам факт пока остался тем же — догнать студию пока не получилось…
GCC + Crinkler — полёт нормальный. ЕХЕ 1.37kb, т.е. всего на 0.2kb больше, чем у студии. С таким готов мириться. Спасибо огромное!
Если ещё кому-нибудь нужно: при настройке очень помог Makefile.
Спасибо за наводку! Стандартный линковщик студии выдал EXE-файл размером 2.5kb, Crinkler на объектных файлах студии — 1.1kb. Позже попробую прикрутить его к GCC
Код написан. Старался писать так, чтоб результирующий файл имел минимальный размер. GCC генерирует результирующий код размером 3kb, Visual Studio — 2.5kb (подробности выше). Стандартный набор опций GC Masher'a уменьшить размер не помог — всё так же 3kb. По-моему, цель данной статьи скорее помочь найти нужные ключи GCC, которые помогут уменьшить размер… И да, при таком размере UPX не ужал ни на байт.
Демосцена — тру! Надеюсь, когда-нибудь смогу поучаствовать. А сейчас так, тренируюсь. Вопрос заинтересовал в принципиальном плане, вот и ковырялся
Лучший случай:
Скрытый текст
-s -O1 -Os

-nodefaultlibs
-nostartfiles
-mconsole
-lkernel32
-luser32
-lgcc
-Wl,ld_script_merge_rdata_and_text.x

.text
Physical Address 2024 $7E8 %11111101000
Virtual Address 4096 $1000 %1000000000000
Size of Raw Data 2048 $800 %100000000000
Pointer To Raw Data 512 $200 %1000000000
Pointer To Relocations 0 $0 %0
Pointer To Linenumbers 0 $0 %0
Number Of Relocations 0 $0 %0
Number Of Linenumbers 0 $0 %0
Characteristics 1613758560 $60300060 %1100000001100000000000001100000
Если добавить следующие опции, то размер секции .text не меняется.
Скрытый текст
-ffunction-sections -Wl,--gc-sections
-fno-asynchronous-unwind-tables -Wl,--strip-all
-fvisibility=hidden -fvisibility-inlines-hidden
-fno-jump-tables
-fif-conversion2
-fno-asynchronous-unwind-tables
Если -O1 заменить на -O3, то получим:
Скрытый текст
.text
Physical Address 2196 $894 %100010010100
Virtual Address 4096 $1000 %1000000000000
Size of Raw Data 2560 $A00 %101000000000
Pointer To Raw Data 512 $200 %1000000000
Pointer To Relocations 0 $0 %0
Pointer To Linenumbers 0 $0 %0
Number Of Relocations 0 $0 %0
Number Of Linenumbers 0 $0 %0
Characteristics 1613758560 $60300060 %1100000001100000000000001100000
Если убрать скрипт линкера, то секция .text вообще не появляется
У EXEшника от Visual Studio только одна секция — .data.
Манипуляции с jump-tables и if-conversion не помогли.
GCC у меня 4.7.1:
Скрытый текст
c:\Program Files (x86)\CodeBlocks\MinGW\bin>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/program files (x86)/codeblocks/mingw/bin/../libexec/gcc/mingw32/4.7.1/lto-wra
pper.exe
Target: mingw32
Configured with: ../../src/gcc-4.7.1/configure --build=mingw32 --enable-languages=c,c++,ada,fortran,
objc,obj-c++ --enable-threads=win32 --enable-libgomp --enable-lto --enable-fully-dynamic-string --en
able-libstdcxx-debug --enable-version-specific-runtime-libs --with-gnu-ld --disable-nls --disable-wi
n32-registry --disable-symvers --disable-build-poststage1-with-cxx --disable-werror --prefix=/mingw3
2tdm --with-local-prefix=/mingw32tdm --enable-cxx-flags='-fno-function-sections -fno-data-sections'
--with-pkgversion=tdm-1 --enable-sjlj-exceptions --with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.7.1 (tdm-1)
Из секций и так остались только .text и .idata. Их в одну слить не получилось
SECTIONS { .text ALIGN(16): { *(.text) *(.rdata) *(SORT(.rdata$*)) } }
С месяц назад пытался выжать из своего мини-приложения самый маленький размер. При включенной опции "-О2" выжал 3.5kb, при "-О1" — 3kb. Все опции из статьи использованы. + Ещё склеивал секции .text и .rdata с помощью скрипта линковщика. Но компилятор от Visual Studio тот же код скомпилировал в 2.5kb. Очень обидно, что с помощью любимого компилятора не удалось достичь тех же результатов
Пробовали ли Lazarus? Как долго? Что именно не понравилось? Сам пару лет назад попробовал, для себя приметил его как вполне полноценную замену Delphi. Немного расстроили несколько другие компоненты (например, 2D-график) и ужасная справка. Но для написания приложений с нуля Lazarus показался мне вполне пригодным…
Ботов кто-нибудь поставил?
Спасибо, попробую!
Для python/ruby нужно прогружать интерпретатор. Да и скорость выполнения получится ниже.
В windows обычно используется много ЕХЕ-файлов и вирус может получить любой из них.
Если кратко — софта много, разного. Ограничено в основном только железом (например, FullHD видео не потянет ни процессор, ни экран — такого софта и нет). Далее в зависимости от задач и личных предпочтений. Обычно у наиболее используемых программ можно найти штук 5 аналогов: платные, бесплатные, на любой вкус.

Нужен какой-то конкретный набор софта — можно легко его нагуглить. Например: Лучшие Palm программы для студента

Один из наиболее удобных на мой взгляд каталогизаторов — Ladoshki com. Софт можно просматривать по категориям, включив отображение скриншотов.
Аккумулятор снимался полностью, вместо него к разъёму подключал 3.6В (и БП и др. аккум). Ведёт себя одинаково(
Аккумулятор мог сдохнуть от одной ночи зарядки? До этого при редком использовании стабильно работал месяц…

Information

Rating
387-th
Location
Brno, Jihomoravsky Kraj, Чехия
Date of birth
Registered
Activity

Specialization

Game Developer
Senior
C++
Unreal Engine