+ -
当前位置:首页 → 问答吧 → 这个 C 程序是干嘛的?。帮忙看看。

这个 C 程序是干嘛的?。帮忙看看。

时间:2006-09-03

来源:互联网

代码:
/*
 wrapper.c - c wrapper for cross-lfs multiarch handling
 ------------------------------------------------------
 Created By: Ryan Oliver <[email protected]> 20050606
*/

#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

/* TODO: should check for __x86_64__ , __powerpc64__ etc and set accordingly */
#ifndef DEFAULTENV
#define DEFAULTENV "64"
#endif

int main(int argc, char **argv)
{
 char *filename;
 char *buildenv;

 if(!(buildenv = getenv("BUILDENV")))
 buildenv = DEFAULTENV;

 filename = (char *) malloc(strlen(argv[0]) + strlen(buildenv) + 2);
 strcpy(filename, argv[0]);
 strcat(filename, "-");
 strcat(filename, buildenv);

 execvp(filename, argv);
 perror(argv[0]);
 free(filename);
}
偶不懂 C,不知道这程序是干嘛的。。,哪位解释一下?谢谢。

作者: 晨想   发布时间: 2006-09-03

<凯达> UFantasy: 这个程序最起码可以拿来消遣销魂 MM ~
<UFantasy> 。你就知道逗人家MM。。。
<UFantasy> 都不帮MM

作者: jhuangjiahua   发布时间: 2006-09-03

引用:
作者: 终极幻想
代码:
/*
 wrapper.c - c wrapper for cross-lfs multiarch handling
 ------------------------------------------------------
 Created By: Ryan Oliver <[email protected]> 20050606
*/

#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

/* TODO: should check for __x86_64__ , __powerpc64__ etc and set accordingly */
#ifndef DEFAULTENV
#define DEFAULTENV "64"
#endif

int main(int argc, char **argv)
{
 char *filename;
 char *buildenv;

 if(!(buildenv = getenv("BUILDENV")))
 buildenv = DEFAULTENV;

 filename = (char *) malloc(strlen(argv[0]) + strlen(buildenv) + 2);
 strcpy(filename, argv[0]);
 strcat(filename, "-");
 strcat(filename, buildenv);

 execvp(filename, argv);
 perror(argv[0]);
 free(filename);
}
假定该程序名为 wrapper 。
程序先获取环境变量 $BUILDENV 的值,若为空,则置 $BUILDENV 为 DEFAULTENV (如"64")。
执行"wrapper-$BUILDENV" (如 wrapper-64 )这个程序。

作者: soloforce   发布时间: 2006-09-03

威廉周又在扮 MM 钓大虾乎 :ask。。。(闪!)

作者: d00m3d   发布时间: 2006-09-03

引用:
作者: Lolita
假定该程序名为 wrapper 。
程序先获取环境变量 $BUILDENV 的值,若为空,则置 $BUILDENV 为 DEFAULTENV (如"64")。
执行"wrapper-$BUILDENV" (如 wrapper-64 )这个程序。
噢。。这样。。知道了。

作者: 晨想   发布时间: 2006-09-03

引用:
作者: d00m3d
威廉周又在扮 MM 钓大虾乎 :ask。。。(闪!)
偶那是 姜太公钓鱼。。。。。。

作者: 晨想   发布时间: 2006-09-03

真不知道这个程序有什么用~~

作者: Vamperor   发布时间: 2006-09-03

销魂难道不把书看完就开始吗?
引用:
This multiarch wrapper is going to be used later on in the book with perl. It will also be very useful outside of the base CLFS system.
小心出问题喔~(闪……)

作者: manphiz   发布时间: 2006-09-04

没仔细看,哪里写的?。贴个连接?

作者: 晨想   发布时间: 2006-09-04

知道了。。被偶忽略了。呵呵。。。。。谢谢啊。。

作者: 晨想   发布时间: 2006-09-04

《Unix高级环境编程》
APUE
不知道,过了这么长时间,是否学了一下C。个人觉得。如果要想让OLive跑起来肯定要写些程序。不然,空谈也。
上面的那书OK。See You

作者: brauceunix   发布时间: 2009-12-24

执行<PgmName>-64

作者: tusooa   发布时间: 2009-12-31