当前位置:  技术问答>linux和unix

大家帮我看一下下面的程序,Posix共享内存方面的,为什么编译的时候有问题,谢谢

    来源: 互联网  发布时间:2015-11-07

    本文导语:  程序代码: #include "basic.h" #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) int main(int argc, char **argv) { int c, fd, flags; char *ptr; off_t length; flags = O_RDWR | O_CREAT; while ( (c = getopt(argc, argv, "e")) != -1) { swit...

程序代码:
#include "basic.h"

#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)


int main(int argc, char **argv)
{
int c, fd, flags;
char *ptr;
off_t length;

flags = O_RDWR | O_CREAT;
while ( (c = getopt(argc, argv, "e")) != -1) {
switch (c) {
case 'e':
flags |= O_EXCL;
break;
}
}
if (optind != argc - 2)
printf("usage: shmcreate [ -e ]  ");
length = atoi(argv[optind + 1]);

fd = shm_open( argv[optind], flags, FILE_MODE );
ftruncate(fd, length);

ptr = mmap( NULL, length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

exit(0);
}

在solaris下,编译错误:
gcc -c -Wall -ggdb -I -I. -I./include -I/LIB/include -I/include -I/LIB/include -L -L. -L/LIB/lib -L/LIB/lib -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT pmen.cpp 
pmen.cpp: In function `int main(int, char **)':
pmen.cpp:25: implicit declaration of function `int shm_open(...)'
*** Error code 1
make: Fatal error: Command failed for target `pmen.o'

我得makfile文件:
LIBFILE = -lrt -lpthread -lsocket -lnsl

大家帮我看看什么原因,谢谢

|
你没包含头文件吧
implicit declaration

|
没有shm_open这个函数

|
没有shm_open这个函数 
---
为什么?

|
solaris实现了posix标准的共享内存操作的。
这个函数应该有。
要不你再到头文件里去找找,我没有用过这个solaris系统,不能确定。

|
在G++3.2(好像)以上,编译器对原型检查很严的说
自己man一下shm_open不就知道该包含哪个头文件了么?

    
 
 

您可能感兴趣的文章:

  • 请问怎么重新编译后里面的文件还存在呢?
  • 可以编译WIN下面的GTK1.3 Themes Dll吗??
  • 64位linux下面的GCC如何编译出一个32位可执行程序?
  • 编译2.6内核zImage,发现文件太大装不进skyeye上面的做2410仿真
  • 到哪里去弄linux下面的c编译器和网页浏览器啊?
  • 我在hp-ux 里用gcc编译程序,但报了下面的错,各位看看是什么问题
  • 在redhat9.0下,怎样使用自带的gcc编译器的? 是在终端使用吗? 有这方面的资料么?
  • 如何把一个目录以及所有子目录下面的所有java源代码文件通过命令一次全部编译。分太多了,问题解决后绝对给分。
  • 请问下面的java语段编译情况
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • 请教:编译《unix网络编程(第2版)》出现下面的错误,谢谢!
  • 下面的java程序我想用命令行的方式进行编译
  • 请问如何在linux环境下面编译下面的文件
  • 请问有人帮忙用cygwin编译一下下面的程序看是否能通过
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • LINUX下面的WEB Service如果编写?是用.NET写吗?WINDOW下面的web service能在LINUX下面用吗?
  • 使用c gtk2 在linux 下,如何实现下面的问题,找了很久,没有这方面的资料
  • fedora13桌面的最上面的系统菜单和最下面的状态栏都不见了
  • 怎样列出目录下面的文件名和文件大小?
  • 我们公司要买软件,谁能提供这方面的信息?
  • 我们公司要买软件,谁能提供这方面的信息??
  • 关于1024柱面的问题!!
  • 在哪下载oracle.jdbc.driver.*这方面的包,谁有?
  • linux下面的什么浏览器可以支持框架??许多网页没法正常观看!!!
  • 学习unix,急需教程,请问哪里可以下载,或者谁可以提供这方面的材料!
  • 谁有网站开发这方面的论文?急需!
  • 竟然没有这方面的书
  • 我以前是做windows下面的开发的,现在想转向Linux或者Unix开发
  • 关于linux下面的sock5到http的转换工具!
  • linux下面的Gftp有人用过吗?
  • linux下面怎么用其它的文件下面的函数呀
  • 什么是MPI?有没有这方面的资料?谢谢
  • 要在Solaris上用C++开发一个有启动画面的程序,不知需要哪些工具和库?
  • 请教:linux下如何找到windows xp下面的文件
  • 求助:下面的警告怎么解决?——关于Linux的Session


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3