3 Jun, 2010
Нека разгледаме следния програмен отрязък:
if (NULL == someApiPointer)
{
//do something here
};
Защо сравняваме NULL със стойността на someApiPointer, а не обратното - както са ни учили в училище и както изглежда по-логично?
Когато за първи път срещнах подобна конструкция си помислих, че има нещо специално в нея - прави се от гледна точка на сигурността или пък е нов стил на писане?
Продължение » » »
16 Dec, 2009
CreateToolhelp32Snapshot е основна функция що се отнася до изброяване на процеси, модули, нишки и heap-ове. В MSDN тя е дефинирана така:
HANDLE WINAPI CreateToolhelp32Snapshot(
__in DWORD dwFlags,
__in DWORD th32ProcessID
);
Най-просто казано първият параметър указва каква информация ще се изисква, а вторият - процесът, за който се отнася въпросната информация.
Нека за момент си представим, че искате да получите списък с нишките, които принадлежат на даден процес. Необходимият флаг е TH32CS_SNAPTHREAD. По инерция въвеждате и идентификатора на процеса, който Ви интересува. Изпълнявате и ХОП - ИЗНЕНАДА! Сдобивате се със списък на всички активни в операционната система нишки (до които имате достъп), а не за конкретната програма?!?
Продължение » » »
4 Sep, 2008
Преди години това бяха два продукта, които промениха начина, по който се програмира. Голямата новост беше, че те предлагат интегрирана среда за програмиране (IDE), макар и в текстов режим. Години след това имената им се промениха, бяха мигрирани към графичен интерфейс, IDE частта им ставаше все по-добра и лесна за употреба. Цената им обаче - твърде висока за повечето потребители.
Добрата новина е, че някои от големите компании, които се занимават с разработката на IDE и компилатори предоставят и по-орязани версии на своите продукти на цена $0 т.е. безплатно. Въпреки намалената си функционалност те са изключително подходящи за изучаване на различните програмни езици в училищата (часовете по информатика/ИТ).
Продължение » » »