Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
C - alocarea memoriei + alte chestiuni
Last Updated: Sep 19 2016 16:28, Started by
AndreiCCC
, Sep 14 2016 20:48
·
0
#37
Posted 19 September 2016 - 13:07
Pe scurt da.
Sunt gresite in sensul ca codul ASM, chiar daca sa zicem (dintr-o fantezie care mie imi scapa) ar fi generat undeva intermediar de catre compilator, NU ESTE NECESAR. Compilatorul AR PUTEA SA FACA insa chestia asta daca-i ceri tu explicit. Pentru ca e o chestie BANALA. Sa dezasamblezi un cod masina in ASM e ceva banal ce poate sa faca oricine. As putea s-o invat si pe nevasta0-mea sa-mi dezasambleze cu pixul pe foaie kernelul de windows. Asa sa-mi bat joc de ea. |
#38
Posted 19 September 2016 - 13:08
S-a folosit metoda asta candva, poate se mai foloseste pe la nu stiu care obscur, dar nu e de actualitate.
In procesul de compilare, transformarea codului ce tu-l intelegi in ceea ce procesorul intelege apar elemente comune din poveste dar nu apel separat de compilator ASM care citeste un fisier text cu acea sintaxa. |
#39
Posted 19 September 2016 - 13:18
Este vorba de cum stochezi instructiunile.
Poti s-o faci BINAR sau TEXT Exact cum faci tu in C char* string="50";in loc sa faci int numar=50; Semnificatia e tot aia, insa nu e natural sa stochezi informatii de tip intreg intr-un string asa cum nu e normal sa stochezi cod masina in format ASM(TEXT) decat daca e nevoie de UN OM sa citeasca porcaria aia de cod sa nu-si piarda vremea cu tabele cu OPCODES. La fel.. Cum tu nu declari variabile de tip int sub forma int numar_de_cartofi_in_sac= 0xFF;ci int numar_de_cartofi_in_sac=65535; Pentru calculator inseamna tot aia, oricum numarul e stocat in format finar in "tranzistori", dar pentru tine ca om vrei sa vezi ca-s cateva zeci de mii de cartofi, nu valoarea FF (care ar trebui sa fie 65535) Edited by maccip, 19 September 2016 - 13:18. |
#40
Posted 19 September 2016 - 13:20
maccip, on 19 septembrie 2016 - 13:18, said:
Cum tu nu declari variabile de tip int sub forma int numar_de_cartofi_in_sac= 0xFF; |
#41
Posted 19 September 2016 - 13:25
neagu_laurentiu, on 19 septembrie 2016 - 13:20, said:
Asta se foloseste. Eu la greu, pentru ca documentatia echipamentului cu care lucrez e data in asa ceva, discutiile intre colegi daca s-a duce in zecimal ar intarzia un pic analiza etc. De aia am dat numele variabilei numar_de_cartofi_in_sac. sa nu se inteleaga ca e o variabila int care urmeaza a fi interpretata bit cu bit. Pentru ca sunt si variabile din astea, evident. Dar sa nu-l complicam pe initiator. |
#42
Posted 19 September 2016 - 13:26
Las naibii sursele de pe net ca te zapacesc ...
Am inteles. Sper sa nu mai dau pe persoane care baga ASM in procesul de compilare-executare, in afara de cazul in care se doreste citirea codului binar. Sa va arat cursuri de facultate din Romania care te invata prostii? Daca la un examen nu mentionezi de ASM intre C si codul binar te pica. Vor sa auda frumos ca dupa compilarea oricarui limbaj de nivel mediu sau inalt, intervine limbajul de asamblare. Exact asa cum am scris. Daca ,,sari" direct la binar (cum defapt e in realitate), asa ,,sari" si peste sesiunea de vara.... Assembly-ului nu i se da un iz de limbaj ajutator/limbaj de sine statator, si furnizat optional in cursul compilarii. Edited by AndreiCCC, 19 September 2016 - 13:31. |
#43
Posted 19 September 2016 - 13:32
Nu e nevoie.
Dar nu pune prea multa presiune pe chestia asta. Un compilator daca vrea poate sa faca multe. Ele comunica cu depanatorul, cu interfata in care programezi. Foloseste briciul lui Occam si taie ce-i irelevant. Mie mi-a placut interesul tau de a intelege pana la nivelul de tranzistor. Asa voiam si eu cand m-am apucat. Sa inteleg pana la nivel de tranzistor. Eu nu sunt nici programator, nici electronist, dar sunt pasionat de stiinta si de tot de inseamna cunoastere. Si imi place sa inteleg cum merg lucrurile. Briciul lui Occam e un instrument esential pentru a strabate tone de informatii, judecati, argumente. Drumul cel mai scurt de la cauza la efect. |
#44
Posted 19 September 2016 - 13:35
Daca ar fi la fel si profesorii .... desi invat in particular, sunt nevoit sa redau una la examen, si alta sa retin pe termen lung.... Si sunt profesori la peste 40-45 de ani. Vezi mai sus ce te pun sa retii.
Sa spun si practic cum ,,predau". Scrii o bucata de C pe tabla, il trec in ASM, si dupa aceea, utilizand niste conventii, fac codul binar. Totul e corect didactic, dar niciodata nu-ti spune ca in realitate calculatorul nu trece prin ASM. Universitatea din Iasi. Edited by AndreiCCC, 19 September 2016 - 13:39. |
#45
Posted 19 September 2016 - 13:45
Poi nu e rau ca va pune sa-l treceti in ASM cred.
Va invata sa ganditi. Habar n-am. Depinde de paradigma de discutie. De multe ori se spune ca calculatorul trece in instructiuni ASM, dar de fapt se intelege cod masina. Pentru ca (intr-o paradigma mai generala de discutie) tot aia e. Sunt atat de multe asemanari intre cod masina si ASM incat in exprimarea fenomenelor sintagmele se folosesc interschimbabil. Si eu fac afirmatia asta cum ca procesorul executa cod ASM. Dar daca ma intreaba cineva despre modul de functionare, trebuie facute distinctii clare intre cod masina si ASM. Tu ai initiat discutia referindu-te la tranzistori, deci trebuie facuta aceasta distinctie. In mod curent, nu e necesara rezolutia asta atat de fina pentru a distinge cele doua aspecte. |
#46
Posted 19 September 2016 - 14:02
Conceptual stiu ca ASM e tot aia cu cod binar. Ca si ,,water" si ,,apa". Doar ca la acest nivel (pe care vreau sa-l insusesc) nu sunt multumit daca nu fac o distinctie clara (cum in cazul exemplului precent, este vorba de limba engleza respectiv limba romana). E o alta reprezentare a ceva.
Totusi, daca am ,,water" nu trebuie sa trec in italiana ca sa ajung la echivalentul in romana. |
|
#47
Posted 19 September 2016 - 14:10
Depinde de compilator, unele compilatoare produc ASM si apoi cod masina, folosind un assembler existent. Exista si compilatoare care produc cod C si apoi il compileaza pe ala cu un compilator de C... Evident ca tie ca utilizator final ti se rupe la banana...
De exemplu, la gcc daca vrei sa opresti compilarea la assembler folosesti optiunea -s: Quote
-S Stop after the stage of compilation proper; do not assemble. The output is in the form of an assembler code file for each non-assembler input file specified. By default, the assembler file name for a source file is made by replacing the suffix ‘.c’, ‘.i’, etc., with ‘.s’. Input files that don't require compilation are ignored. https://gcc.gnu.org/...Overall-Options Pozele de pe net nu sint "gresite", doar ca lumea compilatoarelor e vasta si de obicei prin facultati se foloseste un singur tip de compilator, adica ala pe care stie sa-l foloseasca profu Edited by Mosotti, 19 September 2016 - 14:17. |
#48
Posted 19 September 2016 - 16:28
AndreiCCC, on 19 septembrie 2016 - 14:02, said:
Conceptual stiu ca ASM e tot aia cu cod binar. ASM e reprezentarea sub forma de text a executabilului binar. ASM – inventat pentru a fi citit/scris de om. Cod binar – inventat pentru a fi citit/scris de calculator (nu ca n-ar putea si omul... dar n-are sens). Nu exista o lege anume ce guverneaza ce trebuie sa faci pentru a obtine cod executabil. Ca mai toate in IT, exista fel si fel de metode. Ce vezi in acele poze e o astfel de metoda. Edited by dani.user, 19 September 2016 - 16:29. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users