Internet: plussid ja miinused (Kooli esseed). Kursuste sotsiaalvõrgustikud gümnaasiumiõpilaste elus Sõnum teemal Interneti plussid ja miinused

Alates 2010. aastast ülevenemaalisel lasteabitelefonil 8-800-2000-122 laekus üle 8 miljoni taotluse.
Praegu on ühe numbriga ühendatud 222 teenust meie riigi 83 piirkonnas. Psühholoogilise abi saavad lapsed, noorukid ja nende vanemad raskes elusituatsioonis. Kõne on tasuta ja anonüümne.
Eelkõige on abitelefoni veebisaidil loetletud küberkiusamise peamised märgid ja 10 vormi.


Kaasaegsed lapsed ja teismelised, keda nimetatakse "digikodanikeks", valdavad arvutit hõlpsalt, mobiilseadmed ja neid oskuslikult kasutada. Samal ajal jäävad laste veebiturvalisuse oskused alla nende suutlikkusele hallata uusi rakendusi ja seadmeid.

Peamised ohud Internetis lastele ja noorukitele on järgmised:

1. Küberkiusamine (Internet bullying).

2. Interneti kasutamine laste ja noorukite mõistuse manipuleerimiseks (ekstremisti propaganda, antisotsiaalne käitumine, enesetapp, ohtlikesse mängudesse kaasamine).

4. Küberpettus.

5. Võrgule juurdepääsu turvalisus ja isikuandmete vargus tehniliste vahenditega.

6. Alaealiste isikuandmete ebaseaduslik kogumine ja (või) nende avalikus omandis levitamine.

7. Vaadake täiskasvanutele mõeldud saite.

Iga põlvkond on eelmisest enam-vähem erinev. Kuid just need lapsed, kes sündisid kolmanda aastatuhande alguses ja keda me nimetame Z-põlvkonnaks, on selles mõttes täiesti ainulaadsed, sest nii võimas tööriist nagu digireaalsus mõjutab nende arengut juba varakult.

Internet on uus elupaik ja lapse arengu allikas. Loomulikult mõjutab see olukord laste isiksuse kujunemist, nende suhteid välismaailmaga ja kultuurilisi tavasid.


Loomeühenduse Unpress president, pedagoogikateaduste doktor Sergei Tsymbalenko ütles intervjuus: "Lapsed Internetis, see on fakt, sellest ei pääse. Ühiskond on üle läinud pidevale dialoogile, pidevale suhtlusele. See on otsustav üleminek kollektiivsele intelligentsusele ehk noosfäärile. Lapsed olid esimesed, kes sellesse ühiskonna uude olukorda astusid."

Moskva Riikliku Ülikooli isiksusepsühholoogia osakonna andmetel on igapäevaselt internetti kasutavate laste arv kasvanud 95%-ni. Samas istub 32% lastest internetis iga päev 8 tundi, kuigi kolm aastat tagasi oli neid vaid 14%. Meie silme all on kujunemas uus "digitaalne" põlvkond, kes paratamatult puutub veebi kasutades kokku riskidega.


Üks "Suurprojekte" domeenitsoonis.CHILDREN on projekt Sputnik.Children, mille raames on välja valitud üle 5000 saidi: multikate, mängude, raamatute, laulude ja palju muuga. Iga ressurssi kontrollivad otsingumootori ja turvasüsteemi hindajad.

Google pakub vanematele 10 reeglit laste turvalisuse tagamiseks Internetis. Esimene reegel on rääkida lapsega internetiohutusest.Kõige tähtsam on lapsele kinnitada, et igas ebaselge või hirmuäratava olukorra korral peaks ta turvalise lahenduse leidmiseks võtma ühendust oma vanematega.

Interneti kasutamine teismeliste poolt

03.09.2017 avaldati kodulehel huvitav artikkel Küla, viie 11–16-aastase vene teismelise lugudega sellest, kuidas nad kasutavad ja mida Internet nende jaoks tähendab, millised on nende lemmiksaidid ja sotsiaalsed võrgustikud, nende arvamused veebiohutuse ja vanemliku kontrolli kohta.

Nende teismeliste suhtumine Internetti peegeldab paljuski alloleva uuringu tulemusi. Välja arvatud nende üldine arvamus: Internetis on "miinuseid" ja ohte.


2013. aastal viidi läbi esimene (ja seni ainus) ülevenemaaline teaduslik uurimus noorukite ja noorukite vanemate digipädevuse kohta. Uuringu viisid läbi Interneti Arengu Sihtasutus ja Moskva Riikliku Ülikooli Psühholoogiateaduskond, mis sai nime M.V. Lomonosov Google'i toel.

Venemaal kasutab Internetti igapäevaselt 89% 12–17-aastastest noorukitest. Tööpäeviti veedab neist 37% Internetis 3–8 tundi, nädalavahetustel - 47%. Mobiilne Internet kaks korda populaarsem laste kui nende vanemate seas.

Enamik teismelisi kasutab otsimiseks Internetti huvitav info. Populaarsuselt teisel kohal on õppimiseks vajaliku teabe otsimine.

Nagu selgus, usub ligi kolmandik küsitletud lastest, et Internetil puuduvad puudused ning igal kümnendal oli raskusi juba interneti "miinuste" küsimusega.

Uuringu põhijäreldus on, et nii vanemate kui ka noorukite endi digipädevuse tase on Venemaal ligikaudu kolmandik maksimaalsest võimalikust (vanematel 31% ja noorukitel 34%).

2019. aasta jaanuaris viis VTsIOM läbi täiskasvanute ja noorukite (14–17-aastaste) seas küsitluse teemadel, mis on seotud sotsiaalvõrgustike mõjuga nende käitumisele.

On märkimisväärne, et igas vanuses vastajad märgivad, et noorukite huvi sotsiaalsete võrgustike "halbade" rühmade vastu ei kujune mitte võrgustikest endist, vaid kooliõpilaste tegelikest probleemidest: 49% noorukitest usub, et sellise huvi põhjuseks on tegelikud probleemid. psühholoogilised probleemid, 31% - konfliktid eakaaslastega ja 29% - vanemliku kontrolli puudumine.


Sihtasutuse küsitluse kohaselt Avalik arvamus”, mis viidi läbi detsembris 2015, vaid 10% üle 6-aastastest lastest ei kasuta sotsiaalvõrgustikke. Küsimus esitati vastajatele, kelle juures elavad vanemad kui 6-aastased lapsed.

Interneti mõju teismelistele

Noorukite sotsiaalse ja psühholoogilise kohanemise ja arengu keskuse "Risttee" psühholoogid usuvad, et üheks peamiseks probleemiks on arvutisõltuvuse teke.

Briti psühholoogid peavad positiivseks nähtuseks teismeliste sõltuvust Facebookist, Twitterist ja arvutimängudest. Nende hinnangul on noorukite alkoholi- ja uimastitarbimise vähenemine Euroopas ja USA-s seotud sotsiaalvõrgustike, arvutimängude populaarsuse kasvu ning sotsiaalmeedia levikuga noorte seas.

Vene teismelised, nagu ka nende lääne eakaaslased, veedavad olulise osa oma vabast ajast Internetis. See aga ei mõjuta uimastitarbimise taset.

Teismeliste Interneti-sõltuvus ja vägivald

Internetisõltuvus on 21. sajandi katk. Kahjuks ei tule lapsed sellega ise toime. Vanemad ei pea oma lastega konflikti minema, neid mitte maha jätma, vaid aktsepteerima neid sellisena, nagu nad on. Sest vanemate osaluse osa selles, et nende laps selliseks on saanud, on kindlasti olemas. Siin on oluline oma vigu tunnistada, kuid see on kõige raskem – vanemad peavad end alati õigeks.

Internetis on teismelistel võimalus olla omamoodi sootu olend, kes tapab kõik ja kõik, tundes end tugevana ja lahedana. Kui see laps täielikult endasse võtab, kasvab temast lihtsalt kurjategija välja. Ühel hetkel mõtleb ta, et ka päriselus on kõik lubatud. Üks neist poistest, mänguritest, küsis: "Millele te siis mõtlesite?" - vastas: "Mul oli kaks soovi - kas tappa keegi või saada tapetud."

Laste tehnoloogilise kirjaoskuse paradoks

Tänapäeva lapsed on ilmselt suured tehnoloogiatarbijad, kuid nad on harva tehnotarbijad, ütleb BT Groupi (British Telecommunications plc) juht Gavin Patterson.

Nad võivad tunduda kogenud digitaalsete põliselanike moodi, kuid nende teadmised piirduvad ekraani sügavusega. Nad on passiivsed kasutajad, mitte aktiivsed loojad. Ja enamik neist ei hooli eriti sellest, kuidas tehnoloogia, millest nad sõltuvad, tegelikult toimib. Pean seda tehnoloogilise kirjaoskuse paradoksiks.

Vene koolilapsed: privaatsus ja turvalisus veebis

Sellise ettekande tegi Galina Vladimirovna Soldatova, M. V. nimelise Moskva Riikliku Ülikooli psühholoogiateaduskonna isiksusepsühholoogia osakonna professor. Lomonosov, viimati 10.11.2015 Moskvas 6. rahvusvahelisel konverentsil "Isikuandmete kaitse".

76% vene koolilastest veedab internetis keskmiselt 3 tundi päevas. Iga seitsmes 12–17-aastane teismeline veedab peaaegu kolmandiku oma elust (8 tundi päevas) veebis. Kaasaegsed koolilapsed tajuvad Internetti mitte tehnoloogiate kogumina, vaid elupaigana.

Peaaegu iga teine ​​teismeline ei austa sotsiaalvõrgustikes oma paroolide konfidentsiaalsuse põhimõtet. Samas on endiselt lapsi, kes on valmis võõrastele oma salasõna andma.

Enam kui kolmandik teismelistest on endiselt valmis rääkima võrgus võõrale isikuandmeid: ees- ja perekonnanime, täpset vanust ning saatma foto. Kuuendik lastest jagab numbrit mobiiltelefon, annab peaaegu sama number teada ka kooli numbri.

Arvuti ja Interneti mõju kooli tulemustele

Põhja-Iirimaa koolides läbi viidud uuringu autorid ei tuvastanud otsest seost laste sotsiaalvõrgustikes veedetud aja ja hinnete vahel. Videomängud võivad seevastu halvendada keskkooli GCSE tulemusi.

Majanduskoostöö ja Arengu Organisatsiooni (OECD) raporti kohaselt ei ole massilised investeeringud koolide infotehnoloogiasse rahvusvahelise hindamisprogrammi testide tulemustes mõõdetavat paranemist toonud. haridusalased saavutusedõpilaste lugemise, matemaatika ja loodusteaduste alal.

Nagu direktor ütles haridusprogrammid OECD Andreas Schleicher, arvutistamine ja Interneti kasutuselevõtt koolides "on tekitanud liiga palju ebareaalseid lootusi".

Google'i efekt ehk kuidas Internet meie aju muudab

Tänapäeval võib selle abil leida peaaegu igasugust teavet otsingumootorid. Harvardi ülikooli psühholoogid Daniel Wegner ja Adrian Ward väidavad, et Internet ei asenda mitte ainult teisi teavet talletavaid inimesi, vaid ka meie enda kognitiivseid protsesse, väidavad Harvardi ülikooli psühholoogid. Internet ei saa meid mitte ainult vabastada vajadusest vahetada teavet "otses", vaid ka nõrgendada meie soovi olulist teavet meelde jätta. Psühholoogid nimetavad seda Google'i efektiks.

«Kuni 15. eluaastani on õpilastel infoallikate suhtes naiivne ettekujutus. Tihti ei ole nad motiveeritud saadud infot kontrollima ja võtavad seda tavaliselt nii, nagu see on, keskendudes räägitule,” hindab prantsuse õpetlane Jean-Francois Rouet, kes hindab digitaalse keskkonna mõju lugemisele ja teabe otsimisele.

Laste turvalisuse probleem Internetis teistes riikides

Eurooplased on kõige rohkem mures küberkiusamise (kiusamise) pärast sotsiaalvõrgustikes ja selle tagajärgede pärast, kui teismeline võib eakaaslaste kiusamise tõttu sattuda masendusse või mõelda enesetapu peale.

Facebook selle peal

Internet: poolt ja vastu.

Internet on tohutu platvorm võimaluseks end realiseerida, leida midagi, mis sulle meeldib ja minna sinna, kus sa pole kunagi käinud. Kuid mitte kõik ei kasuta seda võimalust ...

Niisiis, vaatame selle veebi plusse ja miinuseid. Alustame heast.

Esiteks on see eneseteostuse piiramatud võimalused. Internetis on palju kursusi, mis õpetavad teile kõike: isegi lehtede häkkimist. Siin pole vaja kuhugi minna - istuda kodus, juua teed ja õppida.

Näiteks, kas soovite õppida võõrkeelt? Juhendajad Skype'is, kõik võimalikud ressursid aitavad teid. Peate lihtsalt leidma midagi, mis on teie hingele lähemal, ja nüüd saate harjutada igal sobival ajal (veel üks pluss).

Ei vaja õppimist? Kas teil on milleski laialdased teadmised? Jagage, õpetage kedagi, looge veebisait, meelitage publikut, tooge kellelegi kasu.

Veel üks võimalus kohtuda. Samade huvidega ja võib-olla ka teistest riikidest pärit sõprade leidmine ei ole 21. sajandil probleem.

Ja palju muud…

Kuid peale plusside on ka miinuseid.

Esimene miinus: Internetti ei kasuta mitte ainult normaalsed inimesed.

Kuna teisel pool monitori istuvat inimest pole võimalik näha, tema peas toimuvat ei saa, siis kujutab see endast otsest ohtu. Selliste inimeste mõju alla sattudes võite kaotada raha või isegi tapetakse (sellisi juhtumeid on olnud).

Seega häkkerid.

Viirused on 21. sajandi nuhtlus. Ja miks mitte hoida arvuteid, kui palju saladusi nad teavad. Ja olles sellise info enda valdusesse võtnud, võib inimese raamidesse panna, häbi ja lõpuks ka väljapressimine, mis ei meeldiks ühelegi normaalsele inimesele.

Teine miinus: inimeste degradeerumine.

Nagu mainitud, ei kasuta Internetti kõiki õigesti. Interneti mõju all ei saa inimesed aru, kui palju aega nad raiskavad.

Näiteks. Kujutage ette panka, mis annab teile iga päev 86 000 dollarit, mille peate kulutama, ja pank jätab ülejäänu endale. Ja nii iga päev.

Muidugi tahaksite kulutada iga dollari. Nii et 86 400 dollarit on teie aeg. Iga uus päev annab teile 86400 sekundit, võttes ülejäänud osa.

Hirmutavad numbrid. Ja paljud inimesed veedavad suurema osa ajast rumalaid sotsiaalmeedia postitusi vaadates. võrgud, selfie ja selle redigeerimine ning siis värisevad meeldimiste tõttu ...

Kolmas miinus: ebaviisakus.

On arvamus, et keegi ei näe meid Internetis, ei jälgi meid jne Aga asjata. Kõiki külastusi jälgitakse. Kas olete märganud, et kui lähete moekate kleitidega saidile, siis pakutakse teile kuulutusi kleitide ostmise pakkumistega jne. Vaata. Mõnikord on see naljakas)

Internetis on väga lihtne olla ebaviisakas, ebaviisakas, sest sa ei näe inimest, oled turvaline. Ja siis muutub see normaalseks, muutub harjumuseks ja nagu öeldakse: "Harjumus on teine ​​olemus."

Kahjuks ei kasuta me kõiki võimalusi, mida internet meile pakub. Tõepoolest, edu saavutamiseks, Internetist kasu saamiseks vajate kannatlikkust, tööd, tahet ja paraku ei meeldi inimesele pingutada. Kõik tahavad midagi lihtsat, aga siin maailmas ei tule midagi tasuta... Nii me elame.

Borland C++ Builderiga (edaspidi BCB) loodud dll-i kasutamise keerukus Microsofti keskkondades arendatud projektides tuleneb kolmest peamisest probleemist. Esiteks on Borlandil ja Microsoftil dll-ides funktsioonide jaoks erinevad nimetamisreeglid. Sõltuvalt sellest, kuidas eksporditud funktsioon on deklareeritud, võib kompilaator selle nime teatud tähemärkidega täita. Näiteks kui kasutate kutsumiskokkulepet, näiteks __cdecl, lisab BCB funktsiooni nime ette alakriipsu. Visual C++ (edaspidi VC) omakorda lisab funktsiooni __stdcall eksportimisel selle nimele lisaks allkriipsule ka argumentide loendi info (sümbol @ pluss argumentide loendi suurus baitides ).

Tabelis 1 on näidatud eksporditud funktsiooni MyFunction võimalikud nimetamisvalikud, mis on deklareeritud järgmiselt:

Tabel 1. Funktsioonide nimed olenevalt kutsumistavast ja kompilaatorist.

Teiseks ei ühildu BCB loodud objektibinaarfailid (.obj ja .lib) VC-objektifailidega ja seetõttu ei saa neid VC-projektiga siduda. See tähendab, et kui soovite kasutada kaudset linkimist (linkimist) dll-ga, peate kuidagi looma .lib-faili (imporditeegi) vormingus, millest Microsoft kinni peab.

Kolmandaks ei saa VC projektis kasutada BCB dll-st eksporditud klasside klasse ja klasside funktsioonimeetodeid. Selle põhjuseks on asjaolu, et kompilaatorid segavad nii tavaliste funktsioonide kui ka klassimeetodifunktsioonide nimesid (ärge ajage segamini erinevate nimetamiskokkulepetega). Moonutus võetakse kasutusele polümorfismi toetamiseks, see tähendab, et eristada funktsioone, millel on sama nimi, kuid neile edastatakse erinevad parameetrite komplektid. Kui tavaliste funktsioonide puhul saab moonutusi vältida, kasutades enne funktsiooni defineerimist välist "С" direktiivi (kuid samal ajal tuleb esiteks esimene probleem - erinevad dll-i funktsioonide nimetamise kokkulepped ja teiseks kahest või mitut sama nimega funktsiooni, välist "C" direktiivi saab kasutada ainult ühe neist, muidu tekivad kompileerimisvead), siis on klassimeetodi funktsioonide puhul nimemoonutus vältimatu. Arvasite ära, et Borlandi ja Microsofti kompilaatorid kasutavad erinevaid korruptsiooniskeeme. Selle tulemusena ei näe VC-rakendused lihtsalt BCB-sse kompileeritud teekide poolt eksporditud klasse ja klassimeetodeid.

Need kolm probleemi muudavad VC-le ehitatud rakenduste BCB dll-i kasutamise keeruliseks, kuid see on siiski võimalik. Järgmised on kolm võimalust VC-ga ühilduva dll-i loomiseks ja seejärel selle dll-i edukaks kasutamiseks.

Algoritmid VC-ga ühilduva dll-faili loomiseks ja selle kasutamine

Kaks selles jaotises kirjeldatud algoritmi kasutavad kaudset dll-i linkimist, üks kasutab dll-i selgesõnalist laadimist. Esmalt kirjeldame lihtsaimat viisi – VC-projektist pärit BCB dll-i kasutamine, laadides selle programmi täitmise ajal selgesõnaliselt alla.

Algoritm selge dll laadimisega

Seda tehnikat kasutades ei pea me looma VC-ga ühilduvaid imporditeeke (.lib). Selle asemel lisatakse rida toiminguid dll-i laadimiseks ja mahalaadimiseks seda kasutavas rakenduses.

Loome BCB dll (New -> DLL Wizard -> C++ -> Use VCL -> OK), mis ekspordib lihtsuse huvides ainult kaks funktsiooni. Üks funktsioonidest arvutab kahe arvu summa ja ei kasuta VCL-klasse, teine ​​aga loob akna ja kuvab massiivi elemendid, mis on edastatud ühe argumendina TStringGridi VCL-i komponendile.

Nimekiri 1 – Borland C++ Builder 5 kompilaator

#ifndef _EXPLICITDLL_

#define _EXPLICITDLL_

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

HWND __declspec(dllexport) __stdcall ViewStringGridWnd(int Count,double* väärtused);

Märksõna __declspec atribuudiga dllexport märgib funktsiooni eksporditavaks, funktsiooni nimi lisatakse dll-i eksporditabelisse. Iga PE-faili (.exe või .dll) eksporditabel koosneb kolmest massiivist: funktsiooninimede massiivist (täpsemalt funktsioonide nimesid sisaldavate stringide osutajate massiivist), funktsioonide järjenumbrite massiivist ja massiivist funktsioonide suhtelised virtuaalsed aadressid (RVA). Funktsiooninimede massiiv on järjestatud tähestikulises järjekorras, see vastab funktsioonide järjekorranumbrite massiivile. Järjearv muutub pärast mõningaid teisendusi funktsioonide suhteliste virtuaalaadresside massiivi elemendiindeksiks. Funktsiooni nime järgi eksportimisel toimub järgmine toimingute jada: selle indeks funktsiooninimede massiivis määratakse funktsiooni teadaoleva nime järgi, seejärel määratakse funktsiooni indeksi number järgarvude massiivist, siis järgarvust, võttes arvesse antud PE-faili ekspordifunktsioonide põhijärjekorra, arvutatakse indeks, mille abil eraldatakse aadresside massiivist soovitud RVA funktsioon. Lisaks nime järgi eksportimisele on võimalik funktsioone eksportida nende järjekorranumbrite (järjekorra järgi). Sel juhul taandatakse suhteliste virtuaalaadresside massiivist elemendi indeksi saamiseks vajalike toimingute jada ainult funktsiooni järjekorranumbri teisendamiseks. Funktsioonide eksportimiseks numbri järgi kasutatakse .def-faili jaotisega EXPORTS, kus igale funktsioonile määratakse seerianumber. Samal ajal ei ole dll-i tekstis funktsioone märgitud eksporditavateks. Eksporditabeli kohta saate rohkem lugeda artiklist #"7248.files/image002.gif">ImplicitLinkingAliases.def

Seega lisatakse dll-i eksporditabelisse aliasefunktsioonid, mille nimed vastavad meie teegi päisefailis deklareeritud funktsioonidele. Täieliku vastavuse tagamiseks (kuigi seda ei pruugita teha) eemaldame failist ImplicitLinking_cdecl.def kõigi kliendirakenduse jaoks kõrvaliste funktsioonide mainimised, kuna päisefail sisaldab ainult kahe funktsiooni deklaratsioone. Selle tulemusena saame .def-faili, mis on valmis sellest objekti .lib-faili genereerimiseks:

ImplicitLinking_cdecl.def

TEEK IMPLICITLINKING_CDECL.DLL

Sum Func @4 ; SumFunc

ViewStringGridWnd @5 ; ViewStringGridWnd

MÄRGE

Ainsas artiklis, mille ma sellel teemal leidsin (aadressil bcbdev.com), soovitati lisaks .def-failist kõrvaliste funktsioonide eemaldamisele ka jaotise EKSPORDI nimi asendada IMPORTIDEGA. Seda ei tohiks teha sel lihtsal põhjusel, et lib.exe utiliit (vähemalt 6. ja 7. Visual Studioga kaasas) ei toeta jaotist IMPORTS, mistõttu see ignoreerib kõiki järgnevaid funktsioonide kirjeldusi ja loob tühja .lib-faili. Utiliit lib.exe asub kataloogis $(VC)\Bin, kuid tavaliselt ei käivitu see esimesel korral, kuna see nõuab mspdb60.dll teeki (mspdb70.dll lib.exe jaoks, mis on kaasas Visual Studio 7 ) töötama. mspdb60.dll asub kaustas $(Microsoft Visual Studio)\Common\MSDev98\Bin ja mspdb70.dll on kaustas $(Microsoft Visual Studio .NET)\Common7\IDE.

Utiliiti lib.exe kasutades loome kaudseks linkimiseks vajaliku .lib faili COFF-vormingus, selleks sisestame käsureale

lib.exe /def:ImplicitLinking_cdecl.def

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

Saadud .lib-fail lisatakse VC kliendiprojekti (Projekt -> Lisa projekti -> Failid…).

Nüüd vaatame võimalust saavutada samad funktsiooninimed päise- ja objektifailides (.lib), kasutades käskkirja #define. Kirjutame oma BCB teegi päisefaili ümber järgmiselt

Nimekiri 4 – Borland C++ Builder 5 kompilaator

ImplicitLinking_cdecl.h

Kliendi VC-rakenduse koostamisel projektiga lisatud päises dll faili(ImplicitLinking_cdecl.h) Iga funktsiooni nimele lisatakse allkriips, kasutades käske #define (makro _MSC_VER määrab vaikimisi VC kompilaatori). Kuna __cdecl-funktsioonid eksporditakse BCB dll-ist samamoodi, st allakriipsu lisamisega, vastavad eksporditud ja deklareeritud funktsioonide nimed. Makrod #define laiendavad oma mõju kogu järgnevale rakenduse koodile, mis võimaldab programmi tekstis imporditud funktsiooni kutsumisel kasutada selle algset nime, millele kompileerimise käigus lisatakse vajalik maagiline allkriips. Seega järgime Borlandi eeskuju ja kasutame klientrakenduses varjatult BCB-kompilaatori poolt muudetud nimesid, et kutsuda funktsioone meie dll-ist. Just vajadus kasutada muudetud nimesid (ehkki mitte avalikult tänu define-trickile) on minu arvates selle meetodi oluline puudus, kuna näiteks kui soovite selgesõnaliselt (vt jaotist "Algoritm selgesõnalise dll laadimine”), peate kasutama dll-i käepideme muudetud funktsioonide nimesid. Seda teemat edasi arendamata ütlen, et kui BCB dll on loodud selge kavatsusega kasutada seda VC rakendustes, siis on parem lisada projekti teegi .def fail koos kasutajasõbralike funktsioonide varjunimedega.

Vooruste juurde seda meetodit(define-trick) võib olla tingitud selle lihtsusest ja hoolimata sellest, kuidas see eelmises lõigus öelduga vastuolus on, puudub vajadus lisada dll-i eksporditabelisse funktsioonide varjunimesid. Vaatamata pseudonüümide kasutamise mugavusele suureneb eksporditabeli (ja seega ka dll enda) suurus. Jah, ja varjunimede .def-faili loomine, kui suurel hulgal funktsioonid ei lisa meeldivaid emotsioone.

Pärast dll-i kompileerimist impdef.exe abil saame ekspordi .def faili, millest loome lib.exe utiliidiga objekti .lib faili ja lisame selle kliendi VC projekti.

Allpool on toodud klientrakenduse loend, mille kood antud juhul ei sõltu teegi päise- ja objektifailide funktsiooninimede mittevastavuse probleemi lahendamise meetodist. Nagu eelmises jaotises, on see kahe nupuga dialoogiboks. Meile huvipakkuv kood on koondunud dialooginuppude vajutamise sündmuste käitlejatesse.

Nimekiri 5 – Visual C++ 6.0 kompilaator

Kasutades ImplicitLinking_cdeclDlg.cpp

// akna käepide VCL-i komponendiga StringGrid

HWND hGrid = NULL;

// sisaldab teegi päisefaili

#include "ImplicitLinking_cdecl.h"

// arenduskeskkonna loodud kood

void CUsingImplicitLinkng_cdeclDlg::OnSumFunc()

// kutsuge dll-st välja funktsioon SumFunc

intres = SumFunc(5, 9);

// kuvab tulemuse dialoogiboksi pealkirjas

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

void CUsingImplicitLinkng_cdeclDlg::OnViewStringGridWnd()

// argumentide initsialiseerimine

const int count = 5;

topeltväärtused = (2,14, 3,56, 6,8, 8, 5,6564);

// sulgege varem loodud aken, et nad ei "sigiks"

if(hGrid != NULL)

::Saada sõnum(hGrid, WM_CLOSE, 0, 0);

// kutsuge dll-ist funktsiooni ViewStringGridWnd

hGrid = ViewStringGridWnd(count, Values);

void CUsingImplicitLinkng_cdeclDlg::OnDestroy()

CDdialog::OnDestroy();

// sulgege aken komponendiga StringGrid, kui see on loodud

if(hGrid != NULL)

::Saada Sõnum(hGrid, WM_CLOSE, 0,0);

Kaudse dll-i laadimise peamine eelis on dll-i kaudne kasutamine kliendirakenduse poolt. Teisisõnu, rakendus ei kahtlusta funktsioone kutsudes, et need võivad olla kuskil välismoodulis. Tulemuseks on programmi koodi lihtsustamine. Puuduste hulka kuulub asjaolu, et dll on mälus kogu seda kaudselt kasutava programmi töö ajal. dll laaditakse siis, kui rakendus on laaditud – PE-faililaadur, vaadates läbi rakenduse impordi tabeli iga kirje, laadib selle kirje jaoks vastava dll-i. Seega, kui kasutatakse palju teeke, võib põhiprogrammi laadimine viibida. Kaudselt kasutatud dll-i puudumisel ei käivitu rakendus üldse.

Lõplik kaudse sidumisega __cdecl-funktsioonide eksportimise (importimise) algoritm koosneb järgmisest toimingute jadast (vt ka demoprojekti):

1. Deklareerige eksporditud funktsioonid kui __cdecl.

2. Asetage funktsioonide deklaratsioonid välisesse "C" plokki, mitte eksportige klasse ja klasside liikmefunktsioone.

3. Sisestage päisefaili selle edasiseks kasutamiseks kliendi poolel:

ja lisage näiteks igale funktsioonideklaratsioonile makro _DECLARATOR_,

Kui kasutati trikki #define, tuleb samm 7 vahele jätta.

5. Kompileerige BCB dll.

6. Looge faili impdef.exe abil .def-fail eksporditud funktsioonide nimedega.

7. Kui kasutasite 4. sammus varjunimesid, eemaldage eksporditavast def-failist kasutamata funktsioonide nimed, jättes alles ainult varjunimed.

8. Looge kliendi VC projekt.

9. Looge lib.exe utiliidi abil teegi ekspordi .def-failist COFF-vormingus objekti .lib-fail ja lisage see kliendi VC-rakendusse.

10. Kopeerige BCB dll ja selle päisefail kliendi VC projektiga kausta.

11. Ühendage dll-i päisefail klientrakenduses.

12. Kutsuge välja vajalikud funktsioonid programmi kehas, mõtlemata sellele, et need asuvad välises dll-is.

Implitsiitne sidumisalgoritm __stdcall funktsioonide eksportimiseks (importimiseks).

Nagu eespool mainitud, saab lib.exe utiliit luua imporditeegi ainult eksporditavast .def-failist ja lib.exe ei suhtle dll-i endaga mingil moel. Kuid .def-fail ei sisalda teavet selle kohta, millistele kutsumisreeglitele eksporditud funktsioonid kinni peavad. Seetõttu ei saa lib.exe, mis töötab ainult .def-failiga, aru saada, et see tegeleb funktsioonidega __stdcall, ja seetõttu ei saa ta Microsofti andmetel kuvada funktsioone .lib-failis. funktsioonide __stdcall nimetamise tava. Seega, võttes arvesse eelmises jaotises, et lib.exe genereerib funktsioonide __cdecl jaoks täisfunktsionaalse .lib-faili, jõuame järgmisele järeldusele: lib.exe utiliit ei suuda luua imporditeeke __stdcall funktsioone eksportivate dll-failide jaoks. Inimestele, kes soovisid või olid sunnitud (ja pärast selle jaotise lugemist, minu arvates ainult sunnitud) kasutama VC-s __stdcall funktsioonidega BCB dll-i, on see jaotis pühendatud.

BCB dll lähtekood on sama, mis eelmises jaotises (vt loetelu 3), ainult märksõna __cdecl tuleb kõikjal asendada märksõna __stdcall.

Teadaolevalt genereerib keskkond koos sellega VC dll-i loomisel .lib faili (import raamatukogu), mis esitatakse loomulikult meile vajalikus COFF-vormingus ja milles kuvatakse õigesti __stdcall funktsioone. Seetõttu loome (Fail -> Uus... -> Win32 Dynamic-Link teek -> OK -> Tühi DLL-projekt -> Lõpeta) näiv VC dll, mis ekspordib sama funktsioonide komplekti, mis BCB dll. Funktsioonide rakendamine vales dll-is pole absoluutselt oluline, olulised on ainult nende nimed. Lisaks eksporditud funktsioonide samadele nimedele peavad ka peibutus- ja lähteteekide nimed ühtima, kuna .lib-failid sisaldavad dll-ide nimesid. Saate kasutada BCBdll-i allikaid, kopeerides .h- ja .cpp-failid näidis-dll-i kataloogi, lisades need seejärel projekti (Projekt -> Lisa projekti -> Failid...) ja kustutades faili kehad. kõik funktsioonid. Kui funktsioon tagastab väärtuse, siis jätame return-lause ja tagastame vastavalt tüübile ükskõik mida (see võib olla 0, NULL jne). Kuna funktsiooni kehad on tühjad, saab eemaldada ka enamiku kaasatud päisefailidega #include direktiive. Selle tulemusel saame meie näite kohaselt järgmise vale dll-koodi:

Nimekiri 6 – Visual C++ 6.0 kompilaator

ImplicitLinking_stdcallDummy.h

#ifdef _DLLEXPORT_

#define _DECLARATOR_ __declspec(dllexport)

#define _DECLARATOR_ __declspec(dllimport)

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

HWND _DECLARATOR_ __stdcall ViewStringGridWnd(int Count, double* väärtused);

ImplicitLinking_stdcallDummy.cpp

Teegi nimega rida (LIBRARY) .def failis on valikuline, kuid kui on, siis peab selles määratud nimi täpselt ühtima mocki ja algse dll-i nimedega. Lisame VC projekti .def-faili, kompileerime selle uuesti ja saame vale dll-i ja vajaliku imporditeegi, mis sisaldab eksporditud __stdcall funktsioonide õiget kirjeldust. Pildifailist päritud lib-fail tuleks lisada (lingida) igale VC-projektile, mis hakkab kasutama meie algset BCB dll-i.

Näide VC-rakendusest, mis impordib __stdcall funktsioone, on sama, mis eelmises jaotises (vt loendit 5). Ärge unustage lisada (#include) näitesse nõutavat BCB dll päisefaili ja lisada see projekti õige raamatukogu importida.

Kaudne linkimisalgoritm funktsioonide __stdcall eksportimiseks (importimiseks) (vt ka demoprojekti ImplicitLinkingDll_stdcall.zip):

Eksporditud funktsioonide deklareerimine kui __stdcall.

Asetage funktsioonide deklaratsioonid välisesse "C" plokki. Ärge eksportige klasse ja klasside liikmefunktsioone.

Kompileerige BCB dll.

Kuna utiliidi lib.exe abil ei ole võimalik luua kehtivat imporditeeki, luuakse näidis-VC dll, mis sisaldab samu funktsioone kui algne BCB dll.

Kontrollige vale-dll-i ja originaal-dll-i nimede identiteeti, nimed peavad ühtima.

Kui valeteegi jaoks kasutatakse BCB dll lähtetekste, kustutage funktsiooni kehad, kui neid ei kasutata, siis looge tühjad funktsioonid samade nimede ja signatuuridega nagu algses dll-is.

Funktsioonide nimede muutmise vältimiseks eksportimise ajal lisage VC-projekti teegi .def-fail koos jaotisega EXPORT, mis loetleb lihtsalt kõigi eksporditud funktsioonide algsed nimed.

Kompileerige võlts-dll ja hankige vajalik .lib-fail __stdcall funktsioonide õige kuvaga.

Looge kliendi VC projekt ja lisage sellele saadud lib-fail.

Kopeerige BCB dll ja selle päisefail kliendi VC projektiga kausta.

Ühendage päisefail kliendirakenduses.

Kutsuge programmi tekstis välja vajalikud funktsioonid, mõtlemata sellele, et need asuvad välises dll-is.

Nagu näete, ei ole BCB dll-i ja kliendi VC-rakenduse eduka interaktsiooni tagamine tühine ülesanne. Selline interaktsioon muutub aga vajalikuks juhtudel, kui rakenduse üksikute osade väljatöötamisel on eelistatum kasutada VCL-i ja C ++ Builderit (näiteks ajakulu tõttu). Artiklis kirjeldatud algoritme kasutades saate VC-projektist luua ja edukalt kasutada BCB dll-i.

Bibliograafia

Selle töö ettevalmistamisel kasutati objekti materjale.

Internet teismelise elus: Plussid ja miinused

Lõpetanud 10. klassi õpilane. Bortsova E.


  • Uurige välja Interneti mõju inimesele.
  • Tuvastage arvutivõrgu positiivsed ja negatiivsed küljed.

"Internet on globaalne arvutivõrk, mis pakub kasutajatele tohutuid vabadusi" - üks ametlikest sõnastustest.

Esimest korda võrku "siseneval" inimesel tavaliselt on hea mulje Interneti kohta. Aga kas see on tõesti nii? Sa mõistad seda ainult ajaga. Mida kauem olete Internetis, seda rohkem näete selles mitte ainult plusse, vaid ka miinuseid. Kuid kahjuks ei saa kõik aru ja mõistavad, kuidas Internet meie teadvust täidab. Ja me ei suuda enam vahet teha, mis on hea ja mis on halb.


Internet annab meile palju

erinevaid teenuseid, näiteks:

tulu

Suhtlemine

Saadaval palju teavet



AGA! Kõige selle juures on palju miinuseid, mis on palju enamat kui plussid:

  • kokkupuude elektromagnetkiirgusega
  • teabekaotuse stress
  • sõltuvus virtuaalmaailmast
  • teabe avalik kättesaadavus
  • vaimsed häired

internetisõltuvus

Vaimne häire, mille puhul inimesel on obsessiivne soov võimalikult palju Internetis viibida, võimetus sellest lahti ühendada ja reaalsesse maailma naasta. Arstid võrdlevad seda narko- ja alkoholisõltuvusega.


Suhtlusvõrgustikes suheldes liitub teismeline erinevate rühmade, subkultuuridega, tutvub kahtlaste inimestega. Kõik see võib halvasti mõjuda ebastabiilsele psüühikale ja isegi kergesti usaldatava ja mõjutatava teismelise elule.

Noorukite suhtlusvõrgustikes suhtlemise teine ​​negatiivne külg on suhtlusvõimaluste piiratus päris maailm, neil on raskusi tõeliste tutvuste leidmisega. Tõepoolest, Internetis saab teismeline valida endale mis tahes rolli, teha end paremaks, ilusamaks, tulla välja oma ideaalse minaga, kuid elus pole kõik nii lihtne, sest sa oled see, kes sa oled.




Üles