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
- TAGS
- procese
- pipe
- www.cs.ubbcluj.ro
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.