Студии и GCC не нравится двоеточие.
$ cat rdtsc.c
void f(unsigned long *low, unsigned long *high)
{
asm("rdtsc\n":"=a"(*low), "=d"(*high));
}
$ gcc -O2 -S -W -Wall rdtsc.c
$ cat rdtsc.s
.file "rdtsc.c"
.text
.p2align 4,,15
.globl f
.type f, @function
f:
.LFB0:
.cfi_startproc
#APP
# 3 "rdtsc.c" 1
rdtsc
# 0 "" 2
#NO_APP
movq %rax, (%rdi)
movq %rdx, (%rsi)
ret
.cfi_endproc
.LFE0:
.size f, .-f
.ident "GCC: (GNU) 4.7.2 20121109 (Red Hat 4.7.2-8)"
.section .note.GNU-stack,"",@progbits
В чем я ошиблась?
можно ли вызвать функцию из конструктора класса?
Students::Students(std::string name, std::string last_name) { Students::set_name(name); // Вызываем(создаем) функцию с фактическим параметром Students::set_last_name(last_name); // тоже самое. Можно ли так делать? }
class Students
{
...
std::string name_;
std::string last_name_;
...
};
Students::Students(const std::string& name, const std::string& last_name): name_(name), last_name_(last_name)
{
}
из-за размера файла (например в 3Гб) не хватает памяти и соответственно этот вариант отпадает.
Минус в том и другом случае это отдельная лексема?
Если это так, то как сказать распознавателю, что -1 неделимая структура?
это "все выводы порта А с низким уровнем". Что это значит?
не очень ясно что означают параметры PORTA.0, PORTA.1, PORTA.2 и т.д.
OpenMP или MPI
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)
{
...
}