Экран у нука ощутимо хуже киндловского. Подсветка у киндла тоже более плавная. Но преимуществами рутовоного андроида пользуюсь по-полной: и PDF-ридер удобный, и для чтения манги Perfect View просто шикарен. Да и когда покупал на киндлы было много отрицательных отзывов, что через год экран дохнет и показывает полосы. Это исправили?
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 не ужал ни на байт.
.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 не меняется.
.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 вообще не появляется
С месяц назад пытался выжать из своего мини-приложения самый маленький размер. При включенной опции "-О2" выжал 3.5kb, при "-О1" — 3kb. Все опции из статьи использованы. + Ещё склеивал секции .text и .rdata с помощью скрипта линковщика. Но компилятор от Visual Studio тот же код скомпилировал в 2.5kb. Очень обидно, что с помощью любимого компилятора не удалось достичь тех же результатов
Пробовали ли Lazarus? Как долго? Что именно не понравилось? Сам пару лет назад попробовал, для себя приметил его как вполне полноценную замену Delphi. Немного расстроили несколько другие компоненты (например, 2D-график) и ужасная справка. Но для написания приложений с нуля Lazarus показался мне вполне пригодным…
Для python/ruby нужно прогружать интерпретатор. Да и скорость выполнения получится ниже.
В windows обычно используется много ЕХЕ-файлов и вирус может получить любой из них.
Если кратко — софта много, разного. Ограничено в основном только железом (например, FullHD видео не потянет ни процессор, ни экран — такого софта и нет). Далее в зависимости от задач и личных предпочтений. Обычно у наиболее используемых программ можно найти штук 5 аналогов: платные, бесплатные, на любой вкус.
Если ещё кому-нибудь нужно: при настройке очень помог Makefile.
-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
-fno-asynchronous-unwind-tables -Wl,--strip-all
-fvisibility=hidden -fvisibility-inlines-hidden
-fno-jump-tables
-fif-conversion2
-fno-asynchronous-unwind-tables
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
Манипуляции с jump-tables и if-conversion не помогли.
GCC у меня 4.7.1:
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)
SECTIONS { .text ALIGN(16): { *(.text) *(.rdata) *(SORT(.rdata$*)) } }
В windows обычно используется много ЕХЕ-файлов и вирус может получить любой из них.
Нужен какой-то конкретный набор софта — можно легко его нагуглить. Например: Лучшие Palm программы для студента
Один из наиболее удобных на мой взгляд каталогизаторов — Ladoshki com. Софт можно просматривать по категориям, включив отображение скриншотов.