Tag: memory-alignment

Speicher Ausrichtung bedeutet, dass die Objekte und Variablen befinden sich an bestimmten offsets im Arbeitsspeicher des Systems.

Hat VC++ Unterstützung _mm_malloc?

Anzahl der Antworten 4 Antworten
Visual Studio C++ 2008/2010 unterstützen _mm_malloc offiziell? Es ist definiert in malloc.h aber ich kann nicht finden die Beschreibung in der MSDN-Bibliothek. InformationsquelleAutor Kirill V. Lyadvinsky | 2010-07-22

Nutzen Sie ARM unaligned memory access) beim schreiben von sauberen C-code

Anzahl der Antworten 2 Antworten
Es verwendet zu sein, dass ARM-Prozessoren nicht in der Lage waren richtig zu handhaben, unaligned memory access (ARMv5 und unten). So etwas wie u32 var32 = *(u32*)ptr; würde fehlschlagen (raise exception), wenn ptr war nicht korrekt ausgerichtet

Wie zu sagen, GCC-set Struktur-Größe-Grenze, um 4 bytes, die durch compiler-Einstellungen (nicht pragma ist)?

Anzahl der Antworten 2 Antworten
Ich will mein c++ - Programm kompiliert unter GCC zu haben, die maximale Ausrichtung von 4 bytes (der Mitglieder der Strukturen). Ich kann wirklich tun Sie dies durch die Direktive #pragma pack. Jedoch, es ist unangenehm, in

Speicher Ausrichtung von arrays

Anzahl der Antworten 3 Antworten
Ich habe Probleme bei der Angleichung der Speicher für DMA-transfer auf den Cell-Prozessor. Ich brauche die letzten 4 bit der Adresse auf 0 ein. Ich habe 4 arrays von unsigned int wo jedes element muss ausgerichtet im

beste cross-Plattform-Methode, um Speicher ausgerichtet

Anzahl der Antworten 5 Antworten
Hier ist der code, den ich normalerweise benutze, um ausgerichtet Speicher mit Visual Studio und GCC inline void* aligned_malloc(size_t size, size_t align) { void *result; #ifdef _MSC_VER result = _aligned_malloc(size, align); #else if(posix_memalign(&result, align, size)) result =

C-Funktion zur Ausrichtung des GCC

Anzahl der Antworten 3 Antworten
Ich versuche, byte-align-Funktion in 16-byte-Grenze mit dem 'aligned(16)' - Attribut. Ich habe die folgenden: void __attribute__((aligned(16))) function() { } (Quelle: http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html) Aber wenn ich kompilieren (gcc foo.c ; keine makefiles oder linker-Skripte verwendet), bekomme ich die folgende

Aligned und unaligned Speicherzugriffe?

Anzahl der Antworten 6 Antworten
Was ist der Unterschied zwischen aligned und unaligned memory access? Ich arbeite auf einen TMS320C64x DSP, und ich will die systeminterne Funktionen (C-Funktionen für die Montage-Anleitung) und es hat ushort & _amem2(void *ptr); ushort & _mem2(void *ptr);

__memcpy_sse2_unaligned - was bedeutet das im detail?

Anzahl der Antworten 1 Antworten
Während der Arbeit an meinem compiler bekam ich diese Fehlermeldung: Program received signal SIGSEGV, Segmentation fault. __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:33 Wie bekomme ich die details von dem, was hier schief gelaufen? Ich weiß aus dem backtrace es

Wie wird die Größe einer C++ - Klasse bestimmt?

Anzahl der Antworten 4 Antworten
Zusammenfassung: Wie erkennt der compiler statisch, bestimmen die Größe einer C++ - Klassen während der Kompilierung? Details: Ich versuche zu verstehen, was die Regeln sind für die Bestimmung, wie viel Speicher eine Klasse verwenden, und auch, wie

Cross-Plattform-ALIGN(x) - makro?

Anzahl der Antworten 2 Antworten
Ich würde gern ein struct hat eine bestimmte Ausrichtung. Ich würde gerne die gleiche struct-definition für beide GCC-und VisualC++ - Compiler. In VisualC++, eine in der Regel wird dies: __declspec(align(32)) struct MyStruct { //... }; In GCC,

Wie Falle unaligned memory access?

Anzahl der Antworten 2 Antworten
Arbeite ich an einer pet-open-source-Projekt implementiert, dass einige stream-cipher-algorithmen und-ich habe ein Problem mit einem bug ausgelöst, nur wenn ich es auf einem ARM-Prozessor. Ich habe auch versucht, läuft der ARM-binary in x86-unter qemu, aber der Fehler

Damit wird std :: vector zugewiesenen Speicher zugewiesen

Anzahl der Antworten 3 Antworten
Ist es möglich std::vector von benutzerdefinierten Strukturen zuordnen ausgerichtet Speicher für die weitere Verarbeitung mit SIMD-Anweisungen? Wenn es möglich ist, zu tun mit Allocatorhat jemand zufällig eine solche Zuweisung, die er teilen könnte? InformationsquelleAutor der Frage Violet

Werden Klassen- / Strukturelemente immer im Speicher in der Reihenfolge erstellt, in der sie deklariert wurden?

Anzahl der Antworten 6 Antworten
Dies ist eine Frage, die angeregt wurde durch Rob Walker's Antwort hier. Nehme an, dass ich deklarieren Sie eine Klasse/Struktur etwa so: struct { char A; int B; char C; int D; }; Ist es sicher anzunehmen,

Atomarität in C ++: Mythos oder Realität

Anzahl der Antworten 8 Antworten
Habe ich gelesen, einen Artikel über Lockless-Programmierung in MSDN. Es sagt : Auf allen modernen Prozessoren können Sie davon ausgehen, dass lese-und Schreibvorgänge von natürlich ausgerichtet nativen Typen sind Atomare. Solange der Speicher-bus ist mindestens so breit

Wie zuzuteilen und frei ausgerichteten Speicher in C

Anzahl der Antworten 3 Antworten
Wie Sie Speicher, die ausgerichtet ist auf eine bestimmte Grenze C (z.B. cache-line-Grenze)? Ich bin auf der Suche nach malloc/free wie die Implementierung, die im Idealfall wäre so portabel wie möglich sein --- zumindest zwischen 32-und 64-bit-Architekturen.

Zweck der Speicherausrichtung

Anzahl der Antworten 8 Antworten
Zugegeben, ich verstehe es nicht. Sagen, Sie haben einen Speicher mit einer memory-Wort der Länge von 1 byte. Warum kann man nicht den Zugriff auf eine 4 byte lange Variablen in einem einzigen Speicher-Zugriff auf eine nicht

Wie versteht malloc die Ausrichtung?

Anzahl der Antworten 5 Antworten
folgenden ein Auszug aus hier pw = (widget *)malloc(sizeof(widget)); weist raw-Speicherung. In der Tat, der malloc-Aufruf reserviert Speicher das ist groß genug und entsprechend ausgerichtet zu halten, ein Objekt der Typ widget siehe auch fast-pImpl von herb

Speicherausrichtung: Wie benutzt man alignof / alignas?

Anzahl der Antworten 3 Antworten
Ich arbeite mit shared memory jetzt. Kann ich nicht verstehen alignof und alignas. cppreference ist unklar : alignof gibt "Ausrichtung" aber was ist mit "Ausrichtung" ? Anzahl der bytes, die Sie für den nächsten block ausgerichtet werden

Überzeugende Beispiele für benutzerdefinierte C ++ - Allokatoren?

Anzahl der Antworten 16 Antworten
Was sind einige wirklich gute Gründe zu Graben std::allocator zu Gunsten von eine maßgeschneiderte Lösung? Sind Sie über alle Situationen, wo es absolut notwendig war für die Korrektheit, performance, Skalierbarkeit, etc? Keine wirklich kluge Beispiele? Benutzerdefinierte allocators

An der Cache-Zeile ausrichten und die Cache-Zeilengröße kennen

Anzahl der Antworten 6 Antworten
Damit false-sharing, will ich richten Sie jedes element ein array an eine cache-line. Also erstmal muss ich wissen, die Größe einer cache-Zeile, damit ich ordnen Sie jedem element, die Menge der bytes. Zweitens möchte ich den start

Speicherausrichtung in C-Strukturen

Anzahl der Antworten 10 Antworten
Arbeite ich an der 32-bit-Maschine, also nehme ich an, dass der Speicher Ausrichtung sollte 4 bytes. Sagen, ich habe struct: typedef struct { unsigned short v1; unsigned short v2; unsigned short v3; } myStruct; die wirkliche Größe

Was ist der empfohlene Weg, Speicher in C ++ 11 auszurichten?

Anzahl der Antworten 4 Antworten
Ich arbeite auf einem einzigen Hersteller einzelne Verbraucher Ringpuffer-implementation.Ich habe zwei Anforderungen: 1) Richten Sie eine einzelne heap zugeordneten Instanz von einem ring-Puffer, um eine cache-Zeile. 2) Richten Sie ein Feld in einem ring-Puffer, um eine cache-line