28.01.2013 Views

1. Procese Windows; comunicaţii prin pipe şi IPC 2

1. Procese Windows; comunicaţii prin pipe şi IPC 2

1. Procese Windows; comunicaţii prin pipe şi IPC 2

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Procese</strong> <strong>Windows</strong>; <strong>comunicaţii</strong> <strong>prin</strong> <strong>pipe</strong> <strong>şi</strong> <strong>IPC</strong> - 3 -<br />

apar litere mari la începuturile cuvintelor care le compun. De multe ori, când este vorba de o<br />

singură variabilă de un anumit tip, numele ei este numele tipului, scris cu literă mică.<br />

Tot ca <strong>şi</strong> convenţii, începuturile (prefixele) numelor de variabile au semnificaţie: b pentru<br />

BOOL, by pentru BYTE, c pentru char, dw pentru DWORD, fn pentru funcţie h pentru<br />

handle, i pentru int, lp pentru pointer lung, w pentru WORD etc.<br />

<strong>1.</strong><strong>1.</strong>2. Aplicaţii consolă<br />

In ceea ce priveşte programarea <strong>Windows</strong>, prezenta lucrare nu are, nici pe departe, intenţia de<br />

a o descrie exhaustiv. Vom aborda doar ceea ce este strict necesar pentru a crearea de procese<br />

<strong>şi</strong> comunicarea între ele.<br />

<strong>1.</strong><strong>1.</strong>2.<strong>1.</strong> Exemplul 1: prima consolă<br />

Cele mai simple aplicaţii care se pot scrie sub <strong>Windows</strong> sunt aplicaţiile consolă. Acestea sunt,<br />

în fapt, aplicaţii cu intrare <strong>şi</strong> ie<strong>şi</strong>re standard în mod text, la fel ca <strong>şi</strong> la programele simple sub<br />

Unix. Spre exemplu, un program extrem de simplu este programul PrimaConsola.cpp<br />

de mai jos:<br />

int main(int c, char* a[]) {<br />

int i;<br />

char n[120];<br />

<strong>prin</strong>tf("Numele? ");<br />

gets(n);<br />

<strong>prin</strong>tf("Salut %s\nUrmeaza parametrii liniei de comanda\n", n);<br />

for (i=0; a[i]; i++)<br />

<strong>prin</strong>tf("%s\n",a[i]);<br />

return 0;<br />

}<br />

Presupunem că în urma compilării <strong>şi</strong> link-editării acestui program s-a obţinut fi<strong>şi</strong>erul<br />

executabil PrimaConsola.exe. O execuţie a lui se face într-o fereastră MSDos Prompt<br />

(fereastră Cmd) de sub <strong>Windows</strong>. Dacă se lansează programul <strong>prin</strong> comanda:<br />

...> PrimaConsola 11111 doi trei333 4<br />

<strong>şi</strong> se dă la cerere numele, atunci efectul ei este ilustrat în figura de mai jos.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!