linux 에서 ZThread 사용 하기
ZThread 라 이브 러 리 의 홈 페이지:http://zthread.sourceforge.net
위의 사이트 가 열 리 지 않 는 다.아래 주소 로 다운로드 할 수 있 습 니 다.
소스 코드 Zthread 다운로드 주소:http://prdownloads.sourceforge.net/zthread/ZThread-2.3.2.tar.gz
1. Liux 에서 컴 파일 합 니 다.
1. 저장 파일 을 / usr / local / src 에 다운로드
2. 스트레스 해소
cd /usr/local/src
tar -zxvf ZThread-2.3.2.tar.gz
3. 컴 파일 설치
cd ZThread-2.3.2
./configure --prefix=/usr/local/ZThread
... / configure 에서 오류 가 발생 하면:
error: C++ compiler cannot create executables
yum install gcc-c++
그리고 계속:
make
make 에서 오류 가 발생 했 습 니 다:
../include/zthread/Guard.h: In destructor 'ZThread::Guard
../include/zthread/Guard.h:494: error: there are no arguments to 'isDisabled' that depend on a template parameter, so a declaration of 'isDisabled' must be available
단지 먼저 export CXXFLAGS = - permissive 를 한 다음 에 실행 합 니 다.
./configure --prefix=/usr/local/ZThread
make
make install
2. Liux 에서 사용 1. 파일 쓰기 zthread0.h
#ifndef LIFT_OFF_H
#define LIFT_OFF_H
#include <iostream>
#include "zthread/Runnable.h"
using namespace std;
class LiftOff : public ZThread :: Runnable{
int countdown;
int id;
public:
LiftOff(int count,int ident=0):countdown(count),id(ident){}
~LiftOff(){
cout << id << "completed " << endl;
}
void run(){
while(countdown--){
cout << id << ":" << countdown << endl;
}
cout << id << " lift off " << endl;
}
};
#endif
BasicThreads.cpp
#include "zthread0.h"
#include "zthread/Thread.h"
using namespace std;
using namespace ZThread;
int main(){
try{
Thread t(new LiftOff(10),true);
cout << "Waiting for LiftOff " << endl;
}catch(Synchronization_Exception& e){
cerr << e.what() << endl;
}
} ///:~
2. 링크 를 컴 파일 하여 ZThread 라 이브 러 리 에 추가 gcc BasicThreads.cpp -L /usr/local/ZThread/lib -I /usr/local/ZThread/include -lstdc++ -lZThread
주의 - L 뒤에 ZThread 를 연결 하 는 설치 경로 / lib
- lstdc + + 를 추가 하려 면 다음 과 같은 오류 가 발생 할 수 있 습 니 다.
(.text+0x3a29): undefined reference to `std::basic_ostream
- lZThread 를 추가 하려 면 추가 의존 항목 인 ZThread. lib 를 추가 하 는 것 과 같 습 니 다. 그렇지 않 으 면 다음 과 같은 오류 가 발생 할 수 있 습 니 다.
(.text+0xd1):XX.cpp: undefined reference to `ZThread::Thread::Thread(ZThread::Task const&, bool)'
3. 운행
./a.out
오류 가 발생 할 수 있 습 니 다: error while loading shared libraries: libZThread - 2.3. so. 2: cannot open shared object file: No such file or directory
libZThread - 2.3. so. 2 를 / usr / lib 로 복사 합 니 다.
예 를 들 어 cp / usr / local / ZThread / lib / libZThread - 2.3. so. 2 / usr / lib
그리고 OK 를 실행 합 니 다. 출력 은 다음 과 같 습 니 다.
Waiting for LiftOff 0:9 0:8 0:7 0:6 0:5 0:4 0:3 0:2 0:1 0:0 0 lift off 0completed
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 다 중 스 레 드 메커니즘 의 스 레 드 생 성target 을 실행 대상 으로 지정 한 name 을 이름 으로 하고 group 에서 참조 하 는 스 레 드 그룹의 일원 으로 새 Thread 대상 을 할당 합 니 다. 이 스 레 드 가 독립 된 Runnable 실...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.