Als «memcpy» getaggte Fragen

11
memcpy () vs memmove ()
Ich versuche, den Unterschied zwischen memcpy()und zu verstehen memmove(), und ich habe den Text gelesen, der memcpy()sich nicht um die überlappende Quelle und das überlappende Ziel memmove()kümmert. Wenn ich diese beiden Funktionen jedoch auf überlappenden Speicherblöcken ausführe, ergeben beide das gleiche Ergebnis. Nehmen Sie zum Beispiel das folgende MSDN-Beispiel auf …
157 c  memcpy  memmove 



2
Wie funktioniert die Sicherheitsanfälligkeit JPEG of Death?
Ich habe über einen älteren Exploit gegen GDI + unter Windows XP und Windows Server 2003 gelesen, der als JPEG des Todes für ein Projekt bezeichnet wird, an dem ich arbeite. Der Exploit wird unter folgendem Link ausführlich erläutert: http://www.infosecwriters.com/text_resources/pdf/JPEG.pdf Grundsätzlich enthält eine JPEG-Datei einen Abschnitt namens COM mit einem …
94 c++  security  memcpy  malware 

9
strcpy vs. memcpy
Was ist der Unterschied zwischen memcpy()und strcpy()? Ich habe versucht, es mit Hilfe eines Programms zu finden, aber beide geben die gleiche Ausgabe. int main() { char s[5]={'s','a','\0','c','h'}; char p[5]; char t[5]; strcpy(p,s); memcpy(t,s,5); printf("sachin p is [%s], t is [%s]",p,t); return 0; } Ausgabe sachin p is [sa], t …
81 c  memcpy  strcpy 

4
Ist es garantiert sicher, memcpy (0,0,0) auszuführen?
Ich bin nicht so gut mit dem C-Standard vertraut, bitte nehmen Sie Kontakt mit mir auf. Ich würde gerne wissen, ob es standardmäßig garantiert ist, dass memcpy(0,0,0)es sicher ist. Die einzige Einschränkung, die ich finden konnte, ist, dass das Verhalten undefiniert ist, wenn sich die Speicherbereiche überlappen ... Aber können …

10
Warum sollte das Verhalten von std :: memcpy für Objekte, die nicht TriviallyCopyable sind, undefiniert sein?
Von http://en.cppreference.com/w/cpp/string/byte/memcpy : Wenn die Objekte nicht TriviallyCopyable sind (z. B. Skalare, Arrays, C-kompatible Strukturen), ist das Verhalten undefiniert. Bei meiner Arbeit haben wir std::memcpylange Zeit Objekte, die nicht TriviallyCopyable sind, bitweise ausgetauscht, indem wir : void swapMemory(Entity* ePtr1, Entity* ePtr2) { static const int size = sizeof(Entity); char swapBuffer[size]; …

6
Erweitertes REP MOVSB ​​für memcpy
Ich möchte erweitertes REP MOVSB ​​(ERMSB) verwenden, um eine hohe Bandbreite für eine benutzerdefinierte zu erhalten memcpy. ERMSB wurde mit der Ivy Bridge-Mikroarchitektur eingeführt. Weitere Informationen finden Sie im Abschnitt "Erweiterter REP MOVSB- und STOSB-Betrieb (ERMSB)" im Intel-Optimierungshandbuch, wenn Sie nicht wissen, was ERMSB ist. Ich weiß nur, dass ich …
71 c  gcc  assembly  x86  memcpy 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.