bilka00
Могу ошибаться но в битах никто уже давно не считает
Marsel
мне нужно узнать разницу в exe файлах после компиляции с разными флагами
Marsel
у них один размер выходит
­
Могу ошибаться но минимальный объём осмысленных данных это байт.
Marsel
такого не должно быть
bilka00
Или bindiff
­
у них один размер выходит
Вполне может быть.
Marsel
Вполне может быть.
там отключение библиотеки идет, не от всех флагов почему то разница
Marsel
Или bindiff
загуглил возможно то что надо но не факт
Marsel
Сравнением обычным через winhex
я сравнивал в emeditor, там тоже все одинаково, т.е видимо так и есть в реале?
Marsel
Marsel
Внезапно, да?
в других версиях приложения после компиляции замечал разницу но сейчас еще проверяю дебуг вариант
­
Если оптимизировать нечего, то и не оптимизируется ничего.
Anonymous
Можно написать самому утилиту
Marsel
Выравнивание секций отключил?
Выравнивание секций это где и что ты имеешь ввиду
bilka00
я сравнивал в emeditor, там тоже все одинаково, т.е видимо так и есть в реале?
Ты что то не понимаешь судя по всему. Отличие в один бит уже делает файлы различными для побайтового сравнения
bilka00
Потому да, они скорей всего просто одинаковы
Marsel
по этому и интересуюсь у вас)))
Marsel
чтобы знать
bilka00
Просто смотри
bilka00
01010101 - 8 бит
bilka00
И их можно записать в два символа одним байтом
bilka00
Но изменение даже одного бита меняет и байт
Marsel
согласен
Marsel
припоминаю
Marsel
тут очевидно флаги не работают в инструкции кмпиляции в этой версии даже компиляции дебуг версии так же весит, сейчас для контрольной проверки другую версию проверю
bilka00
Выравнивание секций мб все же
bilka00
Как выключить - не помню
Marsel
Выравнивание секций мб все же
может но я не совсем понимаю о чем это и где)))
Marsel
я gcc использую если что
Василий
Коллеги, всем привет! Нужен программист, имеющий опыт работы с компиляторами для микроконтроллеров ARM. Задача в разработки компилятора для промышленного микроконтроллера ARM Cortex-7 Завтра нам нужно предоставить текстовый документ с задачами, которые мы можем реализовать. Соответственно, нам нужен человек, который сможет обосновать ТЕХНИЧЕСКИ (предоставить решения, оформленные в текстовом виде) те задачи, которые мы сами для себя выбрали. ТЗ скину заинтересованным
Василий
Чем вам llvm не устроил, если не секрет?
требования человека, который платит
kitsu
Минобр чтоль?
usernameak
Минобр чтоль?
Тогда логичнее уже минобороны
usernameak
Если что, не советую браться за такое, если заказчик не платит до хре на
Eugene
у них один размер выходит
Размеры секций/файла по спецификации должны быть кратны 512 байтам, поэтому так и входит.
Anonymous
Структура состоит из блоков (заполняющих ее целиком), каждый из которых начинается с двух двойных слов: TImageBaseRelocation=packed record VirtualAddress:cardinal; SizeOfBlock:cardinal; end; Остаток блока заполнен элементами типа WORD, задающими тип поправки и смещение ссылки, в ней нуждающейся, относительно адреса VirtualAddress. Старшие четыре бита указывают тип поправки я не понял какие word сколько заполнены ведь на каждые 4 кб свои перемещаемые эллементы где хранится поправка и смещение ссылки
Anonymous
VirtualAddress это же обсалютный адрес верно же?
Anonymous
Это не может быть rva потому что тогда rva не надо поправлять
Anonymous
Это я говорю про таблицу релоков
Marsel
Размеры секций/файла по спецификации должны быть кратны 512 байтам, поэтому так и входит.
то есть разница в файле все равно может быть но ее по размеру не определить?
Marsel
<allegro.h> code block не видит! все пути прописаны и нихрена пишет типа нет директории, пока не напишешь <../../include/allegro.h> или файлы прямо в код блокс не засунешь или в саму директорию откуда запрос идет, не видит! а остальные заголовки такого не требуют, откуда такая проблема почему так происходит?
Eugene
Кто-нибудь знает какой-нибудь мини-плеер (или декодер в PCM) mp3, ogg/vorbis, acc или opus (последний интереснее всего, конечно)? Или, может, кто-то писал что-то такое или пытался писать?
Eugene
Имеется в виду, не EXE-шник, а либа.
s54820
Кто-нибудь знает какой-нибудь мини-плеер (или декодер в PCM) mp3, ogg/vorbis, acc или opus (последний интереснее всего, конечно)? Или, может, кто-то писал что-то такое или пытался писать?
Можно виндой декодировать через DirectShow. Или взять соответствующую стандартную либу интересующего формата (тот же opusfile, там примеры есть).
Eugene
Можно виндой декодировать через DirectShow. Или взять соответствующую стандартную либу интересующего формата (тот же opusfile, там примеры есть).
А если в винде такой кодек не установлен? opusfile, libopus и т.д. — это всё громоздкие DLL-ки, а мне надо мини-декодер. На 10 Кб, например. Желательно в виде obj/lib/h+c/cpp/asm.
s54820
А если в винде такой кодек не установлен? opusfile, libopus и т.д. — это всё громоздкие DLL-ки, а мне надо мини-декодер. На 10 Кб, например. Желательно в виде obj/lib/h+c/cpp/asm.
Если кодек не установлен, тогда звука не будет. Но если я правильно помню, MP3 в винде точно есть по умолчанию, даже в 9x опционально, но было.
Eugene
Меня на самом деле больше AAC, Vorbis и Opus интересуют (но я поискал ACM-кодеки, ничего не нашёл: кодек AAC не работает, Virbis вообще не видно после установки, Opus вообще не нашёл). Но в целом, идея тоже неплохая. Как вариант, можно заюзать для MP3.
Aiwan \ (•◡•) / _bot
сессия чтоль?
електр🟢нік ✙🟠рчбеч ඞ
асмоизоляция
­
сессия чтоль?
Скорее, опять боты.
Anonymous
посоветуйте проверенные книги по криптографии
Ask
прикладная криптография брюса шнайера
Danil
есть ли какая программа или утилита чтобы узнать точный размер файла до бита???
#include <stdio.h> int get_file_size(std::string filename) { FILE *p_file = NULL; p_file = fopen(filename.c_str(),"rb"); fseek(p_file,0,SEEK_END); int size = ftell(p_file); fclose(p_file); return size * 8; } https://en.cppreference.com/w/cpp/header/cstdio На асм от вас нужно больше информации о том, какая ось, какая разметка у носителя, какое расширение у файла, является ли он бинарным
Danil
Ах, я прочитал что вы дальше пишите, понятно, тогда не актуально
R
Здравствуйте объясните пожалуйста: static inline void *memset16(uint16_t *s, uint16_t v, size_t n) { long d0, d1; asm volatile("rep\n\t" "stosw" : "=&c" (d0), "=&D" (d1) : "a" (v), "1" (s), "0" (n) : "memory"); return s; } почему uint16_t *s ?? адрес в памяти же 32 бита на х86 не?
R
Может потому что функция 16-и битная?
нет, это из линукса linux/arch/x86/include/asm/string_64.h
R
Может потому что функция 16-и битная?
что значит функция 16 битная?
­
memset16 — 16 как бы намекает.
R
Может потому что функция 16-и битная?
я не понимаю вот что: получается на х86 ее невозможно использовать т.к адрес uint16_t ?
R
на х86 адрес в памяти занимает 32 бита же
R
как его можно запихнуть в uint16_t ?
Eugene
uint16_t *s — это указатель на 16-битный int, а не 16-битный указатель.
Aiwan \ (•◡•) / _bot
ты кто?
Aiwan \ (•◡•) / _bot
кажись, очередной буржуйский засланец
Amber
Здравствуйте, я новичёк и ещё не знаю всех тонкостей и у меня возникла проблема при дебаге. Почему-то первая константа неправильно задаётся, хотя все остальные правильно, можете подсказать в чём может быть причина?