Alinhamento de memória

1. Alinhamento de memória

Alexandre
alexandre_a

(usa Suse)

Enviado em 28/08/2006 - 12:44h

Olá pessoal,
eu estava usando a função memalign da stdlib.h para alocar um bloco de memória alinhada em um limite de 16 bytes da seguinte forma:

double *a;
a = (double *) memalign(sizeof(double) * 50, 16);

Ele aloca blz, mas o problema é que não estou conseguindo atribuir valores ao vetor... tipo, se eu fizer a[2] = 3 e mostrar a posição 2 de a, ele vai mostrar zero (0), quando deveria mostrar 3...

Alguém sabe o que eu posso fazer? Ou se alguém souber de mais alguma função que aloque memória alinhada, posta ae ;-)

Obrigado,
Alexandre.


  


2. Re: Alinhamento de memória

Diego da Silva de Medeiros
diegotosco

(usa Slackware)

Enviado em 31/08/2006 - 00:47h

Daê cara, não sei não qual o seu problema, mas sobre outras funções sobre memória alinhada, procure pela função:

int posix_memalign(void **memptr, size_t alignment, size_t size);

onde:

- memptr - ponteiro onde será colocado o endereço da memória alocada

- alignment - o edereço da memória alocada

- size - número de bytes que serão alocados


3. Re: Alinhamento de memória

Alexandre
alexandre_a

(usa Suse)

Enviado em 31/08/2006 - 12:32h

E aí... valeu pela resposta... vou ver essa função tb, mas em todo caso, já tinha encontrado meu erro...

Pura falta de atenção mesmo... no printf estava mostrando os valores com %d, quando o correto é %f, então sempre mostrava zero mesmo... errinho muito besta... eheheh

Valeu,
Alexandre.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts