首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

eclipse-CDT有时可以输入,但如何这个程序不能输出呢

2012-04-02 
eclipse-CDT有时可以输入,但怎么这个程序不能输出呢?#include stdio.h#include stdlib.h#include str

eclipse-CDT有时可以输入,但怎么这个程序不能输出呢?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/soundcard.h>
#include <math.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>

#define BASE_VALUE 257

int main(int argc, char *argv[])
{
  int mixer_fd = 0;
  char *names[SOUND_MIXER_NRDEVICES]=SOUND_DEVICE_LABELS;
  int value,i;
  printf("\nusage:%s dev_no.[0..24] value[0..100]\n\n",argv[0]);
  printf("eg. %s 0 100\n",argv[0]);
  printf(" will change the volume to MAX volume.\n\n");
  printf("The dev_no. are as below:\n");
  for (i=0;i<SOUND_MIXER_NRDEVICES;i++)
  {
  if (i%3==0) printf("\n");
  printf("%s:%d\t\t",names[i],i);
  }
  if (argc<3)
  exit(1);
  if ((mixer_fd = open("/dev/mixer",O_RDWR)))
  {
  printf("Mixer opened successfully,working...\n");
  value=BASE_VALUE*atoi(argv[2]);
  if (ioctl(mixer_fd,MIXER_WRITE(atoi(argv[1])),&value)==0)
  printf("successfully.....");
  else printf("unsuccessfully.....");
  printf("done.\n");
  }
  else
  printf("can't open /dev/mixer error....\n");
  return 0;
}
自己使用gcc编译也可以输出,但是用eclipse就不行。
①比如int main(){printf("hello\n");return 0}是可以在eclipse中输出的。试过很多都可以输出,安装没有问题。
②自己的平台是Fedora9,有几次运行ioctl()函数的例子都不行,跟这个有关吗??
③gcc是可正确的输出。
问题出在啥地方啊,请教大家!

[解决办法]
ubuntu 11.04, Eclipse CDT Helios output: 
eg. /d4/workspace/cdt/printf1/Debug/printf1 0 100
 will change the volume to MAX volume.

The dev_no. are as below:

Vol :0Bass :1Trebl:2
Synth:3Pcm :4Spkr :5
Line :6Mic :7CD :8
Mix :9Pcm2 :10Rec :11
IGain:12OGain:13Line1:14
Line2:15Line3:16Digital1:17
Digital2:18Digital3:19PhoneIn:20
PhoneOut:21Video:22Radio:23
Monitor:24
[解决办法]
你可以用最新版Eclipse CDT试试

热点排行