у вас исходник(не знаю про какой именно вы говорите) проходит линковщик и загрузчик. а возможно и компилятор. поэтому исходик хорошо, но реальность она не всегда в исходнике.
зачем вам эта строчка? я конечно понимаю что сначала вы берете и делаете последний знак либо 0 либо 5, что бы потом взять по модулю 2 в 15. Но зачем такой ранд нужен? взяли бы RDRAND/RDSEED. уже набор инструкций на выброс
Я бы попросил, это rand из стандартной сишной библиотеки, но он довольно всратый, да, даже для линейного конгруэнтного генератора. --- Сообщение объединено, 13 июн 2026 --- Стандартная сишная библиотека уже есть в системе. В венде есть msvcrt.dll, которая есть во всех версиях, хоть она очень старая в плане стандарта. Какие-то реализации есть в других системных библиотеках, типа lstrlenA. Нужны ли тебе эти знания - нет.
Код (ASM): .386P ifndef MASM model flat, c LOCALS endif ASSUME CS: FLAT, DS: FLAT, SS: FLAT, ES: FLAT ;---------------------------------------------------------------------- _TEXT SEGMENT PUBLIC DWORD USE32 PUBLIC 'CODE' _TEXT ENDS ;---------------------------------------------------------------------- _TEXT SEGMENT PUBLIC DWORD USE32 PUBLIC 'CODE' EXTRN _MyRealWinMain:NEAR _TEXT ENDS ;---------------------------------------------------------------------- _TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' public stdcall WinMain WinMain PROC NEAR jmp _MyRealWinMain WinMain ENDP _TEXT ENDS END Код (C): #include <windows.h> #pragma hdrstop extern "C" int _MyRealWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { char* cppBuffer = new char[1024]; lstrcpyA(cppBuffer, "C++ Runtime is fully working!\n\n"); lstrcatA(cppBuffer, "- Transited via TASM jmp: OK\n"); lstrcatA(cppBuffer, "- Standard c0w32.obj startup: Active\n"); lstrcatA(cppBuffer, "- Operator 'new' and 'delete': OK"); MessageBoxA(NULL, cppBuffer, "C++ Bare Metal", MB_OK | MB_ICONINFORMATION); delete[] cppBuffer; return 0; } При отрезании VCL из exe, полученного старой версией C++ Builder получился размер 51kb, при этом оба рантайма (С/C++) на месте, а пустой VCL проект занимает 335kb. Просил сначала у гугл ИИ,который не gemini, вырезать VCL, но при этом оставить класс Ansistring, который находится в файлах dstring.cpp и dstring.h, но не собралось.