LINUX 下EKHO C++编程实现并发问题
@黄冠能 你好,想跟你请教个问题:LINUX 下EKHO C++编程实现并发问题 执行生成的a.out直接无反应
以下是我的程序 麻烦帮看看哪有问题(暂时起了一个线程)
#include <pthread.h> //多线程相关操作头文件,可移植众多平台
#include <iostream>
#include "config.h" // this file is generated when building Ekho
#include "ekho.h"
#include <cstdlib>
using namespace ekho;
#define NUM_THREADS 1 //线程数
void* say_hello( void* args )
{
int i = *(int *)args;
Ekho wong("Mandarin");
wong.startServer(2049);
wong.request("192.168.152.136", 2049,SAVEMP3, "扩展名件格式", "asdt.mp3");
return 0;
} //函数返回的是函数指针,便于后面作为参数
int main()
{
pthread_t tids[NUM_THREADS]; //线程id
for( int i = 0; i < NUM_THREADS; ++i )
{
int ret = pthread_create( &tids[i], NULL, say_hello, &tids[i]); //参数:创建的线程id,线程参数,线程运行函数的起始地址,运行函数的参数
if( ret != 0 ) //创建线程成功返回0
{
cout << "pthread_create error:error_code=" << ret << endl;
}
}
pthread_exit( NULL ); //等待各个线程退出后,进程才结束,否则进程强制结束,线程处于未终止的状态
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
你有没有看INSTALL文件?里面有描述MP3库的依赖包,安装之后你就可以生成MP3了。configure的结果里面也会有提示是否检测到MP3库,是否支持MP3功能。
作为开发者,你要习惯自己多观察和思考,不能期望软件的作者给你非常多的指导。多数情况下你根本联系不上作者,即使能联系上,能回复你一两次就不错了。我开发Ekho并不是为开发者服务,你若想用Ekho做开发就需要有点钻研的精神。你的项目急不代表别人就应该去配合你,即使是同一个公司,也不见得能得到同事很及时的帮助。要未雨绸缪,同时谨记自助者天助。
回复
我在系统中重新下载安装了lame-3.99.1 mp3编码器 但是还是报MP3不支持
回复
应该是系统不支持MP3格式 我生成ogg的格式让后再win7下转换为MP3就可以 请问怎么让ekho支持MP3编码呢 我收到安装的lame也不行
回复
Ekho wong("Mandarin"); wong.saveMp3("1231231231","aaaa.mp3"); 报错如下: undefined reference to ekho::Ekho::saveMp3(std::string, std::string) collect2: 是不是不支持MP3格式转换
回复
命令行输入ekho -t mp3 报:Please report bugs to Cameron Wong (hgneng at gmail.com)
回复
最终结果 已阵亡 绝望+放弃
同一个端口server只有1个,client可以有多个。
startSever之后会进入服务进程的死循环,不会再返回的。
我平时是在命令行ekho --server开启一个服务进程,然后ekho --request "text"来合成语音的。