Не находит std::threads. Что не так?
$ cat > thr.cpp
#include <thread>
using namespace std;
void doIt(){
//do nothing
}
int main(){
thread t(doIt);
t.detach();
return 0;
}
$ g++ -std=c++11 thr.cpp -o thr
/tmp/ccVyziLM.o: In function `std::thread::thread<void (&)()>(void (&)())':
thr.cpp:(.text._ZNSt6threadC2IRFvvEJEEEOT_DpOT0_[_ZNSt6threadC5IRFvvEJEEEOT_DpOT0_]+0x20): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
$ g++ -std=c++11 thr.cpp -pthread -o thr
Я (Петя ) пробовал так:
1. Удалил свой проект локально усебя на компе.
2. Клонировал проект Васи с гитхаба себе на комп.
3. git checkout хэш_8_го_коммита_Васи
5. git remote set-url origin url_на_репозиторий_Пети.git
Как сделать?
git reset --hard хэш_8_го_коммита_Васи
, а при пуше в репозиторий пушить с ключом -fgit revert хэш_10_го_коммита; git revert хэш_9_го_коммита
git checkout хэш_8_го_коммита_Васи -b имя_новой_ветки
Ну и дальше в IDEA при попытке: VCS --> Commit... --> Commit and push... получаю сообщение "The Git repository C:\project2018wm is in the detached HEAD state"
git stash
git checkout master # или имя ветки в которой были 8 хороших коммитов
действия из выбранного варианта из перечисленных выше
git stash pop
есть задача...
sed -i 's/\(^dsn=\).*/\dsn=pgsql://hostaddr="${HOST}" dbname="${DBNAME}" user="${USER}" password='"${PASS}"' options='-c client_min_messages=NOTICE' application_name='fs'/'
sed: -e expression #1, char 27: unknown option to `s'
$ cat > test.cpp <<EOF
class type_class {
int field1;
int field2;
public:
constexpr type_class (int f1, int f2): field1(f1), field2(f2) {
}
};
extern const type_class var;
const type_class var(12, 34);
EOF
$ g++ -S -O2 test.cpp
$ cat test.s
.file "test.cpp"
.globl var
.section .rodata
.align 8
.type var, @object
.size var, 8
var:
.long 12
.long 34
.ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516"
.section .note.GNU-stack,"",@progbits
при x = x + 1 будет x равняться "2"
если я объявляю переменную через int x; и потом ничего в неё не кладу, то там хранится ноль на Си?
int x;
вне всех функций, то в С и С++ там изначально хранится 0. Если вы делаете то же самое внутри функции, то начальное значение не определено. Технически там будет либо мусор находящийся в стеке или в регистре процессора ассоциированном с данной переменной, либо какое-нибудь отладочное значение записанное туда компилятором специально для отлова обращений к неинициализированным переменным. obj->ShowID(); // Думал напишу obj[Тут номер обьэкта] и будет работать но нет...
obj[N].ShowID();
a[b]
эквивалентна записи *(a + b)
.Test *obj2= obj + sizeof (Test); objN= obj + (sizeof (Test) * N) ;
obj2 = obj + 1; objN = obj + N;
std::locale::empty()
Компилятор выдает ошибку "empty is not a member of std::locale"
wif.imbue(std::locale(std::locale(), new std::codecvt_utf8<wchar_t,0x10ffff, std::consume_header>));
static std::locale empty;
wif.imbue(std::locale(empty, new std::codecvt_utf8<wchar_t,0x10ffff, std::consume_header>));
retValue = NtCreateFile(FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock, AllocationSize, FileAttributes, ShareAccess, CreateDisposition, CreateOptions, EaBuffer, EaLength); // get return value of original function
Проект создаёт статическую библиотеку mylib, но в неё не включена требуемая реализация boost, то есть при линковке приложения с mylib нужно явно указывать, что нужно линковать boost.
pkg-config --libs <имя библиотеки>
и получает список ключей для линковки.