Tip#7
Инструкции inline assembler значительно замедляют компиляцию, так что
при написании и отладке программы их лучше поместить в отдельный .cpp
файл. Например, предположим в файле unit1.cpp находится инструкция
asm
{
mov eax,0x0e07
xor ebx,ebx
}
Тогда нам нужно добавить в проект файл AsmUnit2.cpp со следующим
содержанием:
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "AsmUnit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
void callcode()
{
asm //инструкции
{
mov eax,0x0e07
xor ebx,ebx
}
}
Теперь декларируем созданную функцию callcode() в файле AsmUnit2.h :
//---------------------------------------------------------------------------
#ifndef AsmUnit2H
#define AsmUnit2H
#endif
//---------------------------------------------------------------------------
void callcode();
Далее прописываем следующую строчку в unit1.cpp :
#include "AsmUnit2.h"
И теперь можно вызывать callcode(), который выполнит все необходимые
ассемблерные инструкции.
На первый взгляд проделанные операции могут показаться муторными и
ненужными, но в реальности они значительно сокращают время разработки
программы.
Tip#8
При отладке функций, обрабатывающих строки, бывает удобно в строку
записать значение "1234567890123..." и проследить как оно меняется.
Такая запись позволяет легко подсчитать позицию изменившихся букв.