· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Номер билда

Посл.отвђт Сообщенiе


Дата: Дек 20, 2002 06:48:01

Можно ли как-нибудь автоматически генерировать номер сборки при компиляции?
Т.е, при компиляции числовой переменной присваевается порядковый номер сборки (компиляции данного исходника). И, значение этой переменной выводится - например в окне [About].

Интересует реализация для Tasm'a.


Дата: Дек 20, 2002 12:43:25

Можно использовать текущие дату и время.
Не билд конечно, но за отсутствием.....
Для тасма не знаю. Для масма вот:

.386
.model flat, stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

date MACRO
% FORC chr, @Date
db "&chr"
ENDM
ENDM

time MACRO
% FORC chr, @Time
db "&chr"
ENDM
ENDM

.const
sz db "Compiled at: "
date
db ' '
time

.code
start:
invoke MessageBox, NULL, addr sz, NULL, MB_OK + MB_ICONINFORMATION
ret
end start


Дата: Дек 20, 2002 18:25:34

I managed to do it like that:
1. I put the "About" box in a module (separate file: 'About.Asm') which had a usual .DATA and .CODE sections:

.DATA
iCountMyBuilds db "Build #: 000000",0

.CODE
; --- use 'iCountMyBuilds' to display a box...

2. I wrote a small INCBLD.EXE to open the 'About.Asm' as binary file, find the key "Build #: ", read the 6 digits immediately after that, increment the number and store it back into 'About.Asm'.

3. In the MAKEFILE, just before I link the product EXE - I call first the INCBLD.EXE and then compilation of 'About.Asm':

product.exe : module1.obj
product.exe : module2.obj
product.exe : ...etc.
product.exe : about.obj
incbld
tasm32 about.asm
tlink32 ...
===========================
I know its complicated, but I did not find any other way to do it by just TASMing the file.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.079