Interneti: të mirat dhe të këqijat (Ese shkollore). Rrjetet sociale të lëndëve në jetën e nxënësve të shkollave të mesme Mesazh mbi temën e internetit të mirat dhe të këqijat

Që nga viti 2010 në linjën e ndihmës gjithë-ruse të fëmijëve 8-800-2000-122 mori më shumë se 8 milionë aplikime.
Aktualisht, 222 shërbime në 83 qarqe të vendit tonë janë të lidhura me një numër të vetëm. Fëmijët, adoleshentët dhe prindërit e tyre në situata të vështira jetësore mund të marrin ndihmë psikologjike. Thirrja është falas dhe anonime.
Në veçanti, faqja e internetit e linjës së ndihmës rendit shenjat kryesore dhe 10 format e bullizmit në internet.


Fëmijët dhe adoleshentët modernë, të cilët quhen “qytetarë dixhitalë”, zotërojnë lehtësisht kompjuterin, pajisje celulare dhe t'i përdorin ato me shkathtësi. Në të njëjtën kohë, aftësitë e fëmijëve për sigurinë në internet mbeten prapa aftësisë së tyre për të zotëruar aplikacione dhe pajisje të reja.

Rreziqet kryesore në internet për fëmijët dhe adoleshentët janë si më poshtë:

1. Ngacmimi kibernetik (ngacmimi në internet).

2. Përdorimi i internetit për të manipuluar mendjet e fëmijëve dhe adoleshentëve (propagandë e sjelljes ekstremiste, antisociale, vetëvrasje, përfshirje në lojëra të rrezikshme).

4. Mashtrimi kibernetik.

5. Siguria e aksesit në Rrjet dhe vjedhja e të dhënave personale me mjete teknike.

6. Mbledhja e paligjshme e të dhënave personale të të miturve dhe (ose) shpërndarja e tyre në domenin publik.

7. Shiko faqet e të rriturve.

Çdo brez është pak a shumë i ndryshëm nga ai i mëparshmi. Por janë pikërisht fëmijët që kanë lindur në fillim të mijëvjeçarit të tretë dhe që ne i quajmë brezi Z janë absolutisht unikë në këtë kuptim, sepse një mjet kaq i fuqishëm si realiteti dixhital ndikon në zhvillimin e tyre që në moshë të re.

Interneti është një habitat dhe burim i ri i zhvillimit të fëmijëve. Sigurisht, kjo situatë ndikon në formimin e personalitetit të fëmijëve, marrëdhëniet e tyre me botën e jashtme dhe praktikat e tyre kulturore.


Presidenti i shoqatës krijuese Unpress, doktori i Shkencave Pedagogjike Sergej Tsymbalenko, tha në një intervistë: "Fëmijë në internet, ky është një fakt, nuk mund të largoheni prej tij. Shoqëria ka kaluar në dialog të vazhdueshëm, komunikim të vazhdueshëm. Ky është një tranzicion vendimtar drejt inteligjencës kolektive, ose noosferës. Fëmijët ishin të parët që hynë në këtë gjendje të re të shoqërisë."

Sipas Departamentit të Psikologjisë së Personalitetit të Universitetit Shtetëror të Moskës, numri i fëmijëve që përdorin internetin çdo ditë është rritur në 95%. Në të njëjtën kohë, 32% e fëmijëve ulen çdo ditë në internet për 8 orë, megjithëse tre vjet më parë ishin vetëm 14%. Para syve tanë po formohet një gjeneratë e re “dixhitale”, e cila në mënyrë të pashmangshme përballet me rreziqe gjatë përdorimit të World Wide Web.


Një nga "Projektet e Mëdha" në zonën e domenit. CHILDREN është projekti Sputnik.Children, në të cilin janë përzgjedhur më shumë se 5000 faqe: me karikatura, lojëra, libra, këngë dhe shumë më tepër. Çdo burim kontrollohet nga vlerësuesit e motorit të kërkimit dhe sistemit të sigurisë.

Google u ofron prindërve 10 rregulla për sigurinë e fëmijëve në internet. Rregulli i parë është të flisni me fëmijën tuaj për sigurinë në internet. Më e rëndësishmja, bindni fëmijën tuaj se në çdo situatë të paqartë ose të frikshme, ai duhet të kontaktojë prindërit e tij për të gjetur një zgjidhje të sigurt.

Përdorimi i internetit nga adoleshentët

Një artikull interesant u publikua më 03/09/2017 në faqen e internetit Fshati, me historitë e pesë adoleshentëve rusë të moshës 11 - 16 vjeç se si përdorin dhe çfarë do të thotë interneti për ta, cilat janë faqet e tyre të preferuara dhe mediat sociale, opinionet e tyre për sigurinë në internet dhe kontrollet prindërore.

Në shumë mënyra, qëndrimet e këtyre adoleshentëve ndaj internetit pasqyrojnë rezultatet e studimit të mëposhtëm. Përveç mendimit të tyre të përgjithshëm: ka "kundër" dhe rreziqe në internet.


Në vitin 2013, u krye studimi i parë (dhe deri më tani i vetmi) shkencor gjithë-rus i kompetencës dixhitale të adoleshentëve dhe prindërve të adoleshentëve. Studimi u krye nga Fondacioni i Zhvillimit të Internetit dhe Fakulteti i Psikologjisë i Universitetit Shtetëror të Moskës me emrin M.V. Lomonosov me mbështetjen e Google.

Në Rusi, 89% e adoleshentëve të moshës 12-17 vjeç përdorin internetin çdo ditë. Gjatë ditëve të javës, 37% e tyre shpenzojnë në internet nga 3 deri në 8 orë, në fundjavë - 47%. Internet celular dy herë më popullor te fëmijët sesa te prindërit e tyre.

Shumica e adoleshentëve përdorin internetin për të kërkuar informacion interesant. Në vendin e dytë në popullaritet është kërkimi i informacionit për studim.

Siç doli, pothuajse një e treta e fëmijëve të anketuar besojnë se interneti nuk ka asnjë mangësi, dhe një në dhjetë kishte vështirësi me vetë pyetjen e "minuseve" të internetit.

Përfundimi kryesor i studimit është se niveli i kompetencës dixhitale të prindërve dhe vetë adoleshentëve në Rusi është rreth një e treta e maksimumit të mundshëm (31% për prindërit dhe 34% për adoleshentët).

Në janar 2019, VTsIOM kreu një anketë me të rriturit dhe adoleshentët (14-17 vjeç) për çështje që lidhen me ndikimin e rrjeteve sociale në sjelljen e tyre.

Është domethënëse që të anketuarit e të gjitha moshave vërejnë se interesi i adoleshentëve për grupet "të këqija" në rrjetet sociale nuk formohet nga vetë rrjetet, por nga problemet reale të nxënësve të shkollës: 49% e adoleshentëve besojnë se një interes i tillë shkaktohet nga real. probleme psikologjike, 31% - konfliktet me moshatarët dhe 29% - mungesa e kontrollit prindëror.


Sipas një sondazhi të Fondacionit Opinioni publik”, e realizuar në dhjetor 2015, vetëm 10% e fëmijëve mbi 6 vjeç nuk përdorin rrjetet sociale. Pyetja iu drejtua të anketuarve që kanë fëmijë më të vjetër se 6 vjeç që jetojnë me ta.

Ndikimi i internetit tek adoleshentët

Psikologët e Qendrës së Përshtatjes Sociale dhe Psikologjike dhe Zhvillimit të Adoleshentëve “Udhëkryq” mendojnë se një nga problemet kryesore është zhvillimi i varësisë nga kompjuteri.

Psikologët britanikë e konsiderojnë si një fenomen pozitiv varësinë e adoleshentëve ndaj Facebook, Twitter dhe lojërave kompjuterike. Sipas mendimit të tyre, rënia e përdorimit të alkoolit dhe drogës nga adoleshentët në Evropë dhe Shtetet e Bashkuara shoqërohet me popullaritetin në rritje të rrjeteve sociale, lojërave kompjuterike dhe përhapjen e mediave sociale tek të rinjtë.

Adoleshentët rusë, si bashkëmoshatarët e tyre perëndimorë, kalojnë një pjesë të konsiderueshme të kohës së lirë në internet. Megjithatë, kjo nuk ndikon në nivelin e përdorimit të drogës.

Varësia dhe dhuna e adoleshentëve në internet

Varësia nga interneti është murtaja e shekullit të 21-të. Fatkeqësisht, fëmijët nuk janë në gjendje ta përballojnë këtë vetë. Prindërit nuk duhet të konfliktohen me fëmijët e tyre, të mos i braktisin, por t'i pranojnë ashtu siç janë. Sepse pjesa e pjesëmarrjes së prindërve në faktin që fëmija i tyre është bërë i tillë është padyshim aty. Është e rëndësishme të pranoni gabimet tuaja këtu, por kjo është gjëja më e vështirë - prindërit gjithmonë e konsiderojnë veten të drejtë.

Në internet, adoleshentët kanë mundësinë të jenë një lloj krijese pa seks që vret të gjithë dhe gjithçka, duke u ndjerë të fortë dhe të ftohtë. Nëse kjo përthithet plotësisht nga fëmija, atëherë një kriminel thjesht do të rritet prej tij. Në një moment, ai do të mendojë se edhe në jetën reale çdo gjë është e lejuar. Një nga këta djem, lojtarë, në pyetjen: "Për çfarë po mendonit atëherë?" - u përgjigj: "Unë kisha dy dëshira - ose të vrisja dikë, ose të vritesha".

Paradoksi teknologjik i shkrim-leximit të fëmijëve

Fëmijët e sotëm janë ndoshta konsumatorë të mëdhenj të teknologjisë, por ata rrallë janë të aftë për teknologjinë, thotë Gavin Patterson, kreu i BT Group (British Telecommunications plc).

Ata mund të duken si vendas dixhitalë me përvojë, por njohuritë e tyre janë të kufizuara në thellësinë e ekranit. Ata janë përdorues pasivë, jo krijues aktivë. Dhe shumica prej tyre nuk kujdesen shumë për mënyrën se si funksionon në të vërtetë teknologjia nga e cila ata varen. Unë e konsideroj këtë një paradoks të shkrim-leximit teknologjik.

Nxënësit rusë: privatësia dhe siguria në internet

Një raport i tillë u bë nga Galina Vladimirovna Soldatova, Profesore e Departamentit të Psikologjisë së Personalitetit, Fakulteti i Psikologjisë, Universiteti Shtetëror i Moskës me emrin M.V. Lomonosov, më 10.11.2015 në Moskë, Konferenca e 6-të Ndërkombëtare "Mbrojtja e të Dhënave Personale".

76% e nxënësve rusë shpenzojnë mesatarisht 3 orë në ditë në internet. Çdo i shtatë adoleshent i moshës 12 deri në 17 vjeç kalon pothuajse një të tretën e jetës së tij (8 orë në ditë) në internet. Nxënësit modernë e perceptojnë internetin jo si një grup teknologjish, por si një habitat.

Pothuajse çdo i dyti adoleshent nuk respekton parimin e konfidencialitetit në lidhje me fjalëkalimet e tij në rrjetet sociale. Në të njëjtën kohë, ka ende fëmijë që janë gati t'ua japin fjalëkalimin e tyre të panjohurve.

Më shumë se një e treta e adoleshentëve janë ende gati t'i tregojnë një të huaji në rrjet informacionin personal: emrin dhe mbiemrin, moshën e saktë dhe të dërgojnë një foto. E gjashta e fëmijëve do të ndajnë numrin celular, pothuajse i njëjti numër do të raportojë numrin e shkollës.

Ndikimi i kompjuterit dhe internetit në performancën e shkollës

Autorët e studimit, i cili u krye në shkollat ​​e Irlandës së Veriut, nuk vendosën një lidhje të drejtpërdrejtë midis kohës së kaluar nga fëmijët në rrjetet sociale dhe notave të tyre. Video lojërat, nga ana tjetër, mund të përkeqësojnë rezultatet e GCSE të shkollës së mesme.

Sipas një raporti nga Organizata për Bashkëpunim dhe Zhvillim Ekonomik (OECD), investimet masive në teknologjinë e informacionit të shkollave "nuk çuan në përmirësime të matshme" në rezultatet e testit të Programit Ndërkombëtar të Vlerësimit. arritjet arsimore nxënësit në lexim, matematikë dhe shkencë.

Siç ka thënë drejtori programet arsimore OECD Andreas Schleicher, kompjuterizimi dhe futja e internetit në shkolla "ka krijuar shumë shpresa jorealiste".

Efekti i Google ose se si interneti po ndryshon trurin tonë

Sot, pothuajse çdo informacion mund të gjendet duke përdorur Motorë kërkimi. Është plotësisht e mundur, argumentojnë psikologët e Universitetit të Harvardit, Daniel Wegner dhe Adrian Ward, që interneti po zëvendëson jo vetëm njerëzit e tjerë që ruajnë informacionin, por edhe proceset tona njohëse. Interneti jo vetëm që mund të na çlirojë nga nevoja për të shkëmbyer informacione “live”, por edhe të dobësojë dëshirën tonë për të mbajtur mend informacione të rëndësishme. Psikologët e quajnë këtë efekt Google.

“Deri në moshën 15-vjeçare, nxënësit priren të kenë një perceptim naiv të burimeve të informacionit. Shpesh ata nuk janë të motivuar të kontrollojnë informacionin që marrin dhe zakonisht e marrin ashtu siç është, duke u fokusuar në atë që thuhet”, thotë studiuesi francez Jean-Francois Rouet, i cili vlerëson ndikimin e mjedisit dixhital në leximin dhe kërkimin e informacionit.

Problemi i sigurisë së fëmijëve në internet në vende të tjera

Evropianët janë më të shqetësuar për bullizmin kibernetik (ngacmimin) në rrjetet sociale dhe pasojat e tij, kur, për shkak të ngacmimit nga bashkëmoshatarët, një adoleshent mund të bjerë në depresion ose të mendojë për vetëvrasje.

Facebook në të

Interneti: pro dhe kundër.

Interneti është një platformë e madhe për mundësinë për të realizuar veten, për të gjetur një punë që ju pëlqen dhe për të shkuar atje ku nuk keni qenë kurrë. Megjithatë, jo të gjithë e shfrytëzojnë këtë mundësi…

Pra, le të shohim të mirat dhe të këqijat e këtij rrjeti. Le të fillojmë me të mirat.

Së pari, janë mundësitë e pakufishme të vetë-realizimit. Ka shumë kurse në internet për t'ju mësuar çdo gjë: edhe si të hakoni faqe. Këtu nuk keni nevojë të shkoni diku - uluni në shtëpi, pini çaj dhe studioni.

Për shembull, a doni të mësoni një gjuhë të huaj? Tutorët në Skype, të gjitha burimet e mundshme do t'ju ndihmojnë. Ju vetëm duhet të gjeni diçka që është më afër shpirtit tuaj, dhe tani, ju mund të praktikoni në çdo kohë të përshtatshme (një tjetër plus).

Nuk keni nevojë për studim? Keni njohuri të gjera në diçka? Ndani, mësoni dikë, krijoni një faqe interneti, tërheqni një audiencë, përfitoni dikë.

Një tjetër mundësi për t'u takuar. Gjetja e miqve me të njëjtat interesa dhe ndoshta nga vende të tjera nuk do të jetë problem në shekullin e 21-të.

Edhe me shume…

Por përveç të mirat, ka edhe kundër.

Minusi i parë: jo vetëm njerëzit normalë përdorin internetin.

Duke qenë se është e pamundur të shohësh një person të ulur në anën tjetër të monitorit, për të zbuluar se çfarë po ndodh në kokën e tij, kjo përbën një rrezik të menjëhershëm. Duke rënë nën ndikimin e njerëzve të tillë, mund të humbasësh para, apo edhe vrasin atë (ka pasur raste të tilla).

Prandaj hakerat.

Viruset janë plaga e shekullit të 21-të. Dhe çfarë nuk i mbajnë kompjuterët, sa sekrete dinë. Dhe pasi të keni kapur një informacion të tillë, mund të inkuadroni një person, të turpëroni dhe, në fund, të shantazhoni, gjë që asnjë nga njerëzit normalë nuk do ta pëlqente.

Minusi i dytë: Degradimi i njerëzve.

Siç u përmend, jo të gjithë përdoren siç duhet nga interneti. Nën ndikimin e internetit, njerëzit nuk e kuptojnë se sa kohë po humbasin.

Për shembull. Imagjinoni një bankë që ju jep 86,000 dollarë çdo ditë që duhet të shpenzoni, dhe banka e mban pjesën tjetër. Dhe kështu çdo ditë.

Sigurisht, do të dëshironit të shpenzoni çdo dollar. Pra, 86,400 dollarë është koha juaj. Çdo ditë e re ju jep 86400 sekonda, duke marrë pjesën e mbetur.

Numra të frikshëm. Dhe shumë njerëz kalojnë pjesën më të madhe të kohës duke parë postime budallaqe në mediat sociale. rrjete, selfie dhe editim, dhe më pas po dridhen për shkak të pëlqimeve ...

Minusi i tretë: Vrazhdësia.

Ekziston një mendim se askush nuk na sheh në internet, nuk na ndjek, etj. Por më kot. Të gjitha vizitat gjurmohen. A e keni vënë re që kur të shkoni në një faqe me fustane në modë, atëherë do t'ju ofrohen reklama me oferta për të blerë fustane etj. Shikoni. Ndonjëherë është qesharake)

Në internet është shumë e lehtë të jesh i pasjellshëm, i pasjellshëm, sepse nuk sheh një person, je i sigurt.

Fatkeqësisht, ne nuk i shfrytëzojmë të gjitha mundësitë që na ofron interneti. Në të vërtetë, për sukses, për përfitim nga interneti, ju duhet durim, punë, vullnet dhe, mjerisht, një personi nuk i pëlqen të bëjë përpjekje. Të gjithë duan diçka të lehtë, por në këtë botë asgjë nuk vjen falas... Kështu jetojmë.

Kompleksiteti i përdorimit të një dll të krijuar me Borland C++ Builder (në tekstin e mëtejmë BCB) në projektet e zhvilluara në mjediset e Microsoft është për shkak të tre problemeve kryesore. Së pari, Borland dhe Microsoft kanë konventa të ndryshme emërtimi për funksionet në dll. Në varësi të mënyrës se si deklarohet funksioni i eksportuar, emri i tij mund të plotësohet me karaktere të caktuara nga përpiluesi. Për shembull, kur përdorni një konventë thirrëse si __cdecl, BCB shton një nënvizim përpara emrit të funksionit. Visual C++ (në tekstin e mëtejmë referuar si VC), nga ana tjetër, kur eksporton një funksion si __stdcall, do t'i shtojë emrit, përveç nënvizimit, edhe informacione rreth listës së argumenteve (simbolin @ plus madhësinë e listës së argumenteve në byte).

Tabela 1 tregon opsionet e mundshme të emërtimit për funksionin e eksportuar MyFunction të deklaruar si më poshtë:

Tabela 1. Emrat e funksioneve në varësi të konventës së thirrjes dhe kompajlerit.

Së dyti, binarët e objekteve (.obj dhe .lib) të gjeneruar nga BCB janë të papajtueshëm me skedarët e objekteve VC dhe për këtë arsye nuk mund të lidhen me një projekt VC. Kjo do të thotë që nëse dëshironi të përdorni lidhje të nënkuptuar me një dll, duhet të krijoni disi një skedar .lib (bibliotekë importi) në formatin që i përmbahet Microsoft.

Së treti, klasat dhe metodat e funksionit të klasave të eksportuara nga BCB dll nuk mund të përdoren në një projekt VC. Arsyeja për këtë qëndron në faktin se përpiluesit ngatërrojnë emrat e funksioneve të rregullta dhe funksioneve të metodës së klasës (mos i ngatërroni me konventa të ndryshme emërtimi). Shtrembërimi është futur për të mbështetur polimorfizmin, domethënë për të dalluar funksionet me të njëjtin emër, por grupe të ndryshme parametrash që u kalohen atyre. Nëse për funksionet e zakonshme shtrembërimi mund të shmanget duke përdorur direktivën e jashtme "C" përpara përcaktimit të funksionit (por në të njëjtën kohë, së pari, problemi i parë del në plan të parë - konventa të ndryshme emërtimi për funksionet në dll, dhe së dyti, nga dy ose më shumë funksione me të njëjtin emër, direktiva e jashtme "C" mund të përdoret vetëm për njërin prej tyre, përndryshe do të ndodhin gabime në kompilim), atëherë shtrembërimi i emrit është i pashmangshëm për funksionet e metodës së klasës. Përpiluesit Borland dhe Microsoft, e keni marrë me mend, përdorin skema të ndryshme korrupsioni. Si rezultat, aplikacionet VC thjesht nuk i shohin klasat dhe metodat e klasave të eksportuara nga bibliotekat të përpiluara në BCB.

Këto tre probleme e bëjnë të vështirë përdorimin e BCB dll nga aplikacionet e ndërtuara në VC, por është ende e mundur. Më poshtë janë tre mënyra për të krijuar një dll të pajtueshme me VC dhe më pas ta përdorni me sukses atë dll.

Algoritmet për krijimin e një dll të pajtueshëm me VC dhe përdorimi i tij

Dy nga algoritmet e përshkruar në këtë seksion përdorin lidhje të nënkuptuar dll, njëri përdor ngarkim të qartë dll. Le të përshkruajmë fillimisht mënyrën më të lehtë - duke përdorur dll BCB nga projekti VC duke e ngarkuar në mënyrë të qartë gjatë ekzekutimit të programit.

Algoritmi me ngarkim të qartë dll

Duke përdorur këtë teknikë, nuk kemi nevojë të krijojmë biblioteka importi të pajtueshme me VC (.lib). Në vend të kësaj, do të shtohen një sërë veprimesh për të ngarkuar dhe shkarkuar dll në aplikacionin që e përdor atë.

Le të krijojmë një dll BCB (New -> DLL Wizard -> C++ -> Përdor VCL -> OK) që eksporton vetëm dy funksione për thjeshtësi. Njëri nga funksionet do të llogarisë shumën e dy numrave dhe nuk do të përdorë klasa VCL, ndërsa tjetri do të krijojë një dritare dhe do të shfaqë elementët e grupit të kaluar si një nga argumentet në komponentin TStringGrid VCL.

Listimi 1 - Përpiluesi Borland C++ Builder 5

#ifndef _EXPLICITDLL_

#define _EXPLICITDLL_

int __declspec(dllexport) __cdecl SumFunc(int a, int b);

HWND __declspec(dllexport) __stdcall ViewStringGridWnd(int Count,double* Values);

Fjala kyçe __declspec me atributin dllexport shënon funksionin si të eksportueshëm, emri i funksionit shtohet në tabelën e eksportit të dll. Tabela e eksportit të çdo skedari PE (.exe ose .dll) përbëhet nga tre grupe: një grup emrash funksionesh (më saktë, një grup treguesish drejt vargjeve që përmbajnë emrat e funksioneve), një grup numrash të sekuencës së funksioneve dhe një sërë adresat virtuale relative (RVA) të funksioneve. Vargu i emrave të funksioneve është renditur sipas rendit alfabetik; ai korrespondon me grupin e numrave rendorë të funksioneve. Numri rendor pas disa transformimeve kthehet në një indeks elementi nga një grup i adresave virtuale relative të funksioneve. Kur eksportoni një funksion sipas emrit, ndodh sekuenca e mëposhtme e veprimeve: indeksi i tij në grupin e emrave të funksioneve përcaktohet nga emri i njohur i funksionit, pastaj numri i indeksit të funksionit përcaktohet nga grupi i numrave rendorë, pastaj nga rendorja, duke marrë parasysh ordinalin bazë të funksioneve eksportuese për skedarin e dhënë PE, llogaritet indeksi, me të cilin funksioni i dëshiruar RVA nxirret nga grupi i adresave. Përveç eksportimit me emër, është e mundur të eksportohen funksionet me numrat e tyre serial (rendor). Në këtë rast, sekuenca e veprimeve për marrjen e indeksit të një elementi nga një grup adresash virtuale relative reduktohet vetëm në konvertimin e numrit rendor të funksionit. Për të eksportuar funksionet sipas numrit, përdoret një skedar .def me një seksion EXPORTS, ku secilit funksion do t'i caktohet një numër serial. Në të njëjtën kohë, në tekstin e vetë dll, funksionet nuk janë shënuar si të eksportueshme. Mund të lexoni më shumë rreth tabelës së eksportit në artikullin në #"7248.files/image002.gif">ImplicitLinkingAliases.def

Kështu, në tabelën e eksportit dll shtohen funksionet e pseudonimit, emrat e të cilave korrespondojnë me funksionet e deklaruara në skedarin e titullit të bibliotekës sonë. Për pajtueshmëri të plotë (edhe pse kjo mund të mos bëhet), ne do të heqim nga ImplicitLinking_cdecl.def përmendjet e të gjitha funksioneve që janë të jashtme për aplikacionin e klientit, pasi skedari i kokës përmban deklarata të vetëm dy funksioneve. Si rezultat, ne marrim një skedar .def gati për të gjeneruar një skedar objekti .lib prej tij:

ImplicitLinking_cdecl.def

Biblioteka IMPLICITLINKING_CDECL.DLL

Sum Func @4 ; SumFunc

ViewStringGridWnd @5 ; ViewStringGridWnd

SHËNIM

Në artikullin e vetëm që gjeta në këtë temë (në faqen bcbdev.com), rekomandohej që përveç heqjes së funksioneve të jashtme nga skedari .def, të zëvendësohej emri i seksionit EKSPORT me IMPORTE. Kjo nuk duhet të bëhet për arsyen e thjeshtë se mjeti lib.exe (të paktën i furnizuar me Visual Studio 6 dhe 7) nuk mbështet seksionin IMPORTS, prandaj injoron të gjitha përshkrimet e funksioneve pasuese dhe krijon një skedar bosh .lib. Programi lib.exe ndodhet në direktorinë $(VC)\Bin, por zakonisht dështon të ekzekutohet herën e parë, sepse kërkon bibliotekën mspdb60.dll (mspdb70.dll për lib.exe që vjen me Visual Studio 7 ) te punosh. mspdb60.dll është në dosjen $(Microsoft Visual Studio)\Common\MSDev98\Bin dhe mspdb70.dll është në dosjen $(Microsoft Visual Studio .NET)\Common7\IDE.

Duke përdorur mjetin lib.exe, ne do të krijojmë skedarin .lib të nevojshëm për lidhjen e nënkuptuar në formatin COFF, për këtë do të shkruajmë në vijën e komandës

lib.exe /def:ImplicitLinking_cdecl.def

lib.exe /def:ImplicitLinking_cdecl.def /out:ImplicitLinking_cdecl.lib

Skedari .lib që rezulton do t'i shtohet projektit të klientit VC (Project -> Add To Project -> Files…).

Tani le të shohim një mënyrë për të arritur të njëjtat emra funksionesh në skedarët e kokës dhe objektit (.lib) duke përdorur direktivën #define. Le të rishkruajmë skedarin e kokës së bibliotekës sonë BCB si më poshtë

Listimi 4 - Përpiluesi Borland C++ Builder 5

ImplicitLinking_cdecl.h

Kur përpiloni një aplikacion VC të klientit në një kokë të bashkangjitur me projektin dll skedar(ImplicitLinking_cdecl.h) Emrit të çdo funksioni i shtohet një karakter nënvizues duke përdorur direktivat #define (makroja _MSC_VER përcaktohet nga përpiluesi VC si parazgjedhje). Meqenëse funksionet __cdecl eksportohen nga BCB dll në të njëjtën mënyrë, domethënë, me shtimin e një nënvizimi, emrat e funksioneve të eksportuara dhe të deklaruara korrespondojnë. Macrot #define zgjerojnë ndikimin e tyre në të gjithë kodin e mëpasshëm të aplikacionit, i cili lejon në tekstin e programit kur thërret një funksion të importuar të përdorë emrin e tij origjinal, i cili do të plotësohet me nënvizimin e nevojshëm magjik gjatë përpilimit. Kështu, ne ndjekim drejtimin e Borland dhe në aplikacionin e klientit përdorim fshehurazi emrat e ndryshuar nga përpiluesi BCB për të thirrur funksione nga dll-ja jonë. Është nevoja për të përdorur emra të ndryshuar (megjithëse jo hapur për shkak të mashtrimit të përcaktuar), për mendimin tim, kjo është një pengesë e rëndësishme e kësaj metode, pasi, për shembull, nëse dëshironi në mënyrë eksplicite (shih seksionin "Algoritmi me ngarkim i qartë dll”), do t'ju duhet të përdorni emrat e funksioneve të ndryshuara të dorezës dll. Pa e zhvilluar më tej këtë temë, do të them se nëse BCB dll krijohet me qëllimin e qartë për ta përdorur atë në aplikacionet VC, atëherë është më mirë të shtoni një skedar .def në projekt në projekt me emra funksionalë miqësorë për përdoruesit.

Tek virtytet këtë metodë(define-trick) mund t'i atribuohet thjeshtësisë së tij dhe, pavarësisht se sa është në kundërshtim me atë që u tha në paragrafin e mëparshëm, mungesa e nevojës për të shtuar pseudonimet e funksionit në tabelën e eksportit dll. Pavarësisht nga komoditeti i përdorimit të pseudonimeve, tabela e eksportit (dhe rrjedhimisht vetë dll) rritet në madhësi. Po, dhe krijimi i një skedari .def të pseudonimeve kur në numër të madh funksionet nuk shtojnë emocione të këndshme.

Pas përpilimit të dll duke përdorur impdef.exe, marrim një skedar eksporti .def, nga i cili krijojmë një skedar objekti .lib duke përdorur mjetin lib.exe dhe e shtojmë atë në projektin e klientit VC.

Lista e aplikacionit të klientit, kodi i të cilit në këtë rast nuk varet nga metoda e zgjidhjes së problemit të mospërputhjes së emrave të funksioneve në skedarët e kokës dhe objekteve të bibliotekës, është paraqitur më poshtë. Ashtu si në seksionin e mëparshëm, kjo është një kuti dialogu me dy butona. Kodi i interesit për ne është i përqendruar në mbajtësit e ngjarjeve për shtypjen e butonave të dialogut.

Listimi 5 - Përpiluesi Visual C++ 6.0

Duke përdorur ImplicitLinking_cdeclDlg.cpp

// Doreza e dritares me komponentin VCL StringGrid

HWND hGrid = NULL;

// përfshini skedarin e kokës së bibliotekës

#include "ImplicitLinking_cdecl.h"

// kodi i krijuar nga mjedisi i zhvillimit

void CUsingImplicitLinkng_cdeclDlg::OnSumFunc()

// thirrni funksionin SumFunc nga dll

intres = SumFunc(5, 9);

// shfaq rezultatin në titullin e kutisë së dialogut

this->SetWindowText(itoa(res, str ,10));

void CUsingImplicitLinkng_cdeclDlg::OnViewStringGridWnd()

// inicializimi i argumenteve

const int count = 5;

Vlerat e dyfishta = (2.14, 3.56, 6.8, 8, 5.6564);

// mbyllni dritaren e krijuar më parë në mënyrë që të mos "rriten"

if (hGrid != NULL)

::SendMessage(hGrid, WM_CLOSE, 0, 0);

// thirrni funksionin ViewStringGridWnd nga dll

hGrid = ViewStringGridWnd(numërimi, vlerat);

void CUsingImplicitLinkng_cdeclDlg::OnDestroy()

CDdialog::OnDestroy();

// mbyllni dritaren me komponentin StringGrid, nëse është krijuar

if (hGrid != NULL)

::SendMessage(hGrid, WM_CLOSE, 0,0);

Avantazhi kryesor i ngarkimit të nënkuptuar dll është përdorimi i nënkuptuar i dll nga aplikacioni i klientit. Me fjalë të tjera, aplikacioni, kur thërret funksionet, nuk dyshon se ato mund të jenë diku në një modul të jashtëm. Rezultati është një thjeshtim i kodit të programit. Disavantazhet përfshijnë faktin që dll është në memorie gjatë gjithë funksionimit të programit që e përdor atë në mënyrë implicite. dll ngarkohet kur aplikacioni është i ngarkuar - ngarkuesi i skedarit PE, duke parë çdo hyrje në tabelën e importit të aplikacionit, ngarkon dll-në përkatëse për këtë hyrje. Prandaj, nëse përdoren shumë biblioteka, ngarkimi i programit kryesor mund të vonohet. Në mungesë të një dll të përdorur në mënyrë implicite, aplikacioni nuk do të fillojë fare.

Algoritmi përfundimtar me lidhje të nënkuptuar për eksportimin (importimin) e funksioneve __cdecl përbëhet nga sekuenca e mëposhtme e veprimeve (shih gjithashtu projektin Demo):

1. Deklaroni funksionet e eksportuara si __cdecl.

2. Vendosni deklaratat e funksioneve në bllokun e jashtëm "C", duke mos eksportuar klasa dhe funksione anëtare të klasave.

3. Futni në skedarin e kokës për mundësinë e përdorimit të mëtejshëm të tij nga ana e klientit:

dhe shtoni makro _DECLARATOR_ në deklaratën e secilit funksion, për shembull,

Nëse është përdorur truku #define, atëherë hapi 7 do të duhet të anashkalohet.

5. Përpiloni BCB dll.

6. Duke përdorur impdef.exe, krijoni një skedar .def me emrat e funksioneve të eksportuara.

7. Nëse në hapin 4 janë përdorur pseudonimet, hiqni emrat e funksioneve të papërdorura nga skedari i eksportit .def, duke lënë vetëm pseudonimet.

8. Krijoni një projekt VC të klientit.

9. Duke përdorur mjetin lib.exe, krijoni një skedar objekti .lib të formatit COFF nga skedari .def i eksportit të bibliotekës dhe shtoni atë në aplikacionin VC të klientit.

10. Kopjoni BCB dll dhe skedarin e titullit të tij në dosjen me projektin e klientit VC.

11. Lidhni skedarin e kokës dll në aplikacionin e klientit.

12. Thirrni funksionet e nevojshme në trupin e programit, pa menduar për faktin se ato ndodhen në një dll të jashtëm.

Algoritmi me lidhje implicite për eksportimin (importimin) e funksioneve __stdcall

Siç u përmend më lart, mjeti lib.exe mund të krijojë një bibliotekë importi vetëm nga një skedar .def eksportues dhe lib.exe nuk ndërvepron me vetë dll në asnjë mënyrë. Megjithatë, skedari .def nuk përmban asnjë informacion në lidhje me konventat e thirrjes që funksionet e eksportuara i përmbahen. Prandaj, lib.exe, duke punuar ekskluzivisht me një skedar .def, nuk do të jetë në gjendje të kuptojë se ka të bëjë me funksionet __stdcall dhe, si rezultat, nuk do të jetë në gjendje të shfaqë funksionet në një skedar .lib sipas Microsoft konventa e emërtimit për funksionet __stdcall-. Kështu, duke marrë parasysh nga seksioni i mëparshëm që lib.exe gjeneron një skedar .lib plotësisht funksional për funksionet __cdecl, arrijmë në përfundimin e mëposhtëm: mjeti lib.exe nuk është në gjendje të gjenerojë biblioteka importi për dll që eksportojnë funksionet __stdcall. Për njerëzit që dëshironin ose u detyruan (dhe pasi lexuan këtë seksion, mendoj vetëm të detyruar) të përdorin BCB dll me funksionet __stdcall në VC, ky seksion është i dedikuar.

Kodi burimor BCB dll është i njëjtë si në seksionin e mëparshëm (shih Listën 3), vetëm fjala kyçe __cdecl duhet të zëvendësohet kudo fjalë kyçe __stdcall.

Dihet që kur krijoni një dll VC së bashku me të, mjedisi gjeneron një skedar .lib (bibliotekë importi), i cili paraqitet, natyrisht, në formatin COFF që na nevojitet dhe në të cilin funksionet __stdcall do të shfaqen saktë. Prandaj, le të krijojmë (Skedar -> E re... -> Win32 Dynamic-Link Library -> OK -> Një projekt bosh DLL -> Finish) një dll të rreme VC që do të eksportojë të njëjtin grup funksionesh si dll BCB. Zbatimi i funksioneve në një dll të rremë nuk është absolutisht i rëndësishëm, vetëm emrat e tyre janë të rëndësishëm. Përveç emrave të njëjtë të funksioneve të eksportuara, emrat e bibliotekave të mashtrimit dhe burimit duhet të përputhen, sepse skedarët .lib përmbajnë emrat e dll-ve. Ju mund t'i përdorni burimet BCBdll duke kopjuar skedarët .h- dhe .cpp-në direktorinë e dll-së tallëse, më pas duke i shtuar ato në projekt (Projekt -> Shto në projekt -> Skedarë...) dhe duke fshirë trupat e të gjitha funksionet. Nëse funksioni kthen një vlerë, atëherë ne lëmë deklaratën e kthimit dhe kthejmë çdo gjë sipas llojit (mund të jetë 0, NULL, etj.). Meqenëse trupat e funksionit do të jenë bosh, shumica e direktivave #include me skedarë të përfshirë të kokës gjithashtu mund të hiqen. Si rezultat, sipas shembullit tonë, marrim kodin e mëposhtëm të rremë dll:

Listimi 6 - Përpiluesi Visual C++ 6.0

ImplicitLinking_stdcallDummy.h

#ifdef _DLLEXPORT_

#define _DECLARATOR_ __declspec(dllexport)

#define _DECLARATOR_ __declspec(dllimport)

int _DECLARATOR_ __stdcall SumFunc(int a, int b);

HWND _DECLARATOR_ __stdcall ViewStringGridWnd(int Count, double* Values);

ImplicitLinking_stdcallDummy.cpp

Rreshti me emrin e bibliotekës (LIBRARY) në skedarin .def është opsional, por nëse është, atëherë emri i specifikuar në të duhet të përputhet saktësisht me emrat e modelit dhe dll origjinal. Ne shtojmë një skedar .def në projektin VC, e rikompilojmë atë dhe marrim një dll false dhe bibliotekën e importit që na nevojitet, që përmban përshkrimin e saktë të funksioneve __stdcall të eksportuara. Skedari .lib i trashëguar nga dll-ja tallëse duhet të shtohet (lidhur) me çdo projekt VC që do të përdorë dll-në tonë origjinale BCB.

Një shembull i një aplikacioni VC që importon funksionet __stdcall është i njëjtë si në seksionin e mëparshëm (shih Listën 5). Mos harroni të përfshini (#include) skedarin e kërkuar të kokës BCB dll në shembull dhe shtoni atë në projekt bibliotekën e duhur importit.

Algoritmi i lidhjes së nënkuptuar për eksportimin (importimin) e funksioneve __stdcall (shih gjithashtu projektin Demo, ImplicitLinkingDll_stdcall.zip):

Deklaroni funksionet e eksportuara si __stdcall.

Vendosni deklaratat e funksioneve në një bllok të jashtëm "C". Mos eksportoni klasa dhe funksione anëtare të klasave.

Përpiloni BCB dll.

Meqenëse nuk është e mundur të krijohet një bibliotekë e vlefshme e importit duke përdorur mjetin lib.exe, krijohet një dll model VC që përmban të njëjtin grup funksionesh si dll origjinal BCB.

Kontrolloni identitetin e emrave të dll false dhe dll origjinale, emrat duhet të përputhen.

Nëse tekstet burimore të BCB dll përdoren për bibliotekën false, atëherë fshini trupat e funksionit, nëse nuk përdoren, atëherë krijoni funksione boshe me të njëjtat emra dhe nënshkrime si në dll origjinal.

Për të parandaluar ndryshimin e emrave të funksioneve gjatë eksportimit, shtoni një skedar .def të bibliotekës në projektin VC me një seksion EXPORTS që thjesht liston emrat origjinalë të të gjitha funksioneve të eksportuara.

Përpiloni një dll të rremë dhe merrni skedarin e nevojshëm .lib me shfaqjen e saktë të funksioneve __stdcall.

Krijoni një projekt klient VC dhe shtoni skedarin .lib që rezulton në të.

Kopjoni BCB dll dhe skedarin e kokës së tij në dosjen me projektin e klientit VC.

Lidhni skedarin e kokës në aplikacionin e klientit.

Thirrni funksionet e nevojshme në tekstin e programit, pa menduar për faktin se ato ndodhen në një dll të jashtëm.

Siç mund ta shihni, sigurimi i ndërveprimit të suksesshëm midis BCB dll dhe aplikacionit të klientit VC nuk është një detyrë e parëndësishme. Sidoqoftë, një ndërveprim i tillë bëhet i nevojshëm në rastet kur përdorimi i VCL dhe C ++ Builder në zhvillimin e pjesëve individuale të aplikacionit është më i preferueshëm (për shembull, për shkak të kostove të kohës). Duke përdorur algoritmet e përshkruara në artikull, do të jeni në gjendje të krijoni dhe përdorni me sukses BCB dll nga një projekt VC.

Bibliografi

Për përgatitjen e kësaj pune janë përdorur materiale nga kantieri.

Interneti në jetën e një adoleshenti: Pro dhe kundra

Plotësuar nga një nxënës i klasës së 10-të. Bortsova E.


  • Zbuloni ndikimin e internetit tek një person.
  • Identifikoni anët pozitive dhe negative të një rrjeti kompjuterik.

“Interneti është një global rrjeti kompjuterik, i cili u ofron përdoruesve liri të mëdha" - një nga formulimet zyrtare.

Një person që "hyn" në rrjet për herë të parë zakonisht ka përshtypje të mirë në lidhje me internetin. Por a është vërtet kështu? Ju e kuptoni atë vetëm me kohë. Sa më gjatë të jeni në internet, aq më shumë shihni në të jo vetëm pluset, por edhe minuset. Por për fat të keq, jo të gjithë mund të kuptojnë dhe kuptojnë se si Interneti e mbush ndërgjegjen tonë. Dhe ne nuk mund të dallojmë më atë që është e mirë dhe ajo që është e keqe.


Interneti na jep shumë

shërbime të ndryshme si p.sh.

fitimet

Komunikimi

Shumë informacion në dispozicion



POR! Me gjithë këtë, ka shumë minuse, të cilat janë shumë më tepër se pluse:

  • ekspozimi ndaj rrezatimit elektromagnetik
  • stresi i humbjes së informacionit
  • varësia nga bota virtuale
  • disponueshmëria publike e informacionit
  • çrregullime mendore

varësia nga interneti

Një çrregullim mendor në të cilin një person ka një dëshirë obsesive për sa më shumë kohë në internet, pamundësi për t'u shkëputur prej tij dhe për t'u kthyer në botën reale. Mjekët e krahasojnë atë me varësinë ndaj drogës dhe alkoolit.


Duke komunikuar në rrjetet sociale, një adoleshent bashkohet me grupe të ndryshme, nënkultura, njihet me njerëz të dyshimtë. E gjithë kjo mund të rezultojë e keqe për psikikën e paqëndrueshme dhe madje edhe jetën e një adoleshenti të cilit i besohet dhe ndikohet lehtësisht.

Një tjetër anë negative e komunikimit të adoleshentëve në rrjetet sociale është kufizimi i mundësive të komunikimit në botën reale, e kanë problem të bëjnë njohje të vërteta. Në të vërtetë, në internet, një adoleshent mund të zgjedhë çdo rol për veten e tij, ta bëjë veten më të mirë, më të bukur, të dalë me veten e tij ideale, por në jetë gjithçka nuk është aq e thjeshtë, sepse ju jeni ai që jeni.




Top