это "все выводы порта А с низким уровнем". Что это значит?
не очень ясно что означают параметры PORTA.0, PORTA.1, PORTA.2 и т.д.
array = realloc(array, (i + 1) * sizeof(char *)); array[i] = malloc((strlen(string) + 1));
array = realloc(array, (i + 2) * sizeof(char *));
array[i] = malloc((strlen(string) + 1));
array[i + 1] = NULL;
Есть функция, инициализирующая массив, состоящий из структур.
struct product *pr
pr->code[i] = (*code);
free(p.title) не помогает
OpenMP или MPI
int f(int p[][20][30])
{
int i = 1, j = 2, k = 3;
int v = p[i][j][k];
}
...
int p[10][20][30];
f(p);
int f(int *p, int n2, int n3) // p[][n2][n3]
{
int i = 1, j= 2, k = 3;
int v = p[(((i * n2) + j) * n3) + k]; // v = p[i][j][k];
}
...
int p[10][20][30];
f(&p[0][0][0], 20, 30);
int f(int n2, int n3, int p[][n2][n3])
{
int i = 1, j = 2, k = 3;
int v = p[i][j][k];
}
...
int p[10][20][30];
f(20, 30, p);
char *buf;
size_t buf_sz;
...
BOOL CALLBACK DuffRecording(HRECORD hangle, const void *buffer, DWORD lenght, void *user)
{
buf = realloc(buf, buf_sz + length);
memcpy(buf + buf_sz, buffer, lenght);
buf_sz += length;
return TRUE;
}
// эту функцию нужно вызывать когда есть новые данные,
// например, после каждого вызова DuffRecording
void chunk_handler(void)
{
size_t offset = 0;
while (buf_sz >= offset + CHUNK_SIZE) {
do_something_with_data(buf + offset);
offset += CHUNK_SIZE;
}
if (offset) {
memmove(buf, buf + offset, buf_sz - offset);
buf_sz -= offset;
}
}
// эта функция будет вызвана с p указывающим на буфер длиной CHUNK_SIZE
void do_something_with_data(void *p)
{
...
}
$ cat > hello.S <<'EOF'
.data
.Lhello:
.ascii "Hello, world\n"
.text
.global _start
_start:
movl $1, %ebx
leal .Lhello, %ecx
movl $13, %edx
movl $4, %eax
int $0x80
movl $1, %eax
xorl %ebx, %ebx
int $0x80
EOF
$ gcc -m32 hello.S -nostdlib -o hello
$ ./hello
Hello, world
$
.text
.global _start
_start:
.incbin "code"
.text
.global _start
_start:
.byte 0xbb, 0x01, 0x00, 0x00, 0x00, 0x8d, 0x0d, 0xb8,
.byte 0x80, 0x04, 0x08, 0xba, 0x0d, 0x00, 0x00, 0x00,
.byte 0xb8, 0x04, 0x00, 0x00, 0x00, 0xcd, 0x80, 0xb8,
.byte 0x01, 0x00, 0x00, 0x00, 0x31, 0xdb, 0xcd, 0x80,
.byte 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x77,
.byte 0x6f, 0x72, 0x6c, 0x64, 0x0a