小编Z.Z*_*Zen的帖子

如何在不使用LD_LIBRARY_PATH的情况下链接makefile中特定版本的共享库?

我知道LD_LIBRARY_PATH是邪恶的,避免使用它是一个好习惯.我有一个server.c远程Solaris 9服务器上的程序,它包含两个版本的openssl库(0.9.8和1.0.0),我使用的是gcc 3.4.6.我的程序需要链接到1.0.0a版本.因为它是工作环境,所以我无权修改openssl库目录中的任何内容.我想出用两个-L-R选项编译我的程序而没有设置LD_LIBRARY_PATH,它工作正常.(我注意到没有设置-R选项它将无法工作)但编译后的程序保持链接/usr/local/ssl/lib/libssl.so.0.9.8而不是/.../libssl.so.1.0.0.有解决办法吗?

顺便说一句,如果我错了,请纠正我:是否-R在运行时实际"链接"共享库并且-L选项仅在编译时"加载"共享库?

任何帮助都感激不尽!

Z.Zen

//////////////////////////////////////////////

这是我的Makefile:

CC = gcc
OPENSSLDIR = /usr/local/ssl
CFLAGS = -g -Wall -W -I${OPENSSLDIR}/include -O2 -D_REENTRANT -D__EXTENSIONS__ 

RPATH = -R${OPENSSLDIR}/lib
LD = ${RPATH} -L${OPENSSLDIR}/lib -lssl -lcrypto -lsocket -lnsl -lpthread

OBJS = common.o

PROGS = server

all: ${PROGS}

server: server.o ${OBJS}
        ${CC} server.o ${OBJS} -o server ${LD}


clean:;
        ${RM} ${PROGS} *.ln *.BAK *.bak …
Run Code Online (Sandbox Code Playgroud)

c gcc openssl shared-libraries

9
推荐指数
1
解决办法
2万
查看次数

为什么WWW :: Mechanize获取某些页面而不是其他页面?

我是Perl/HTML的新手.我正在尝试使用http://en.wikipedia.org/wiki/Periodic_table$mech->get($url)上的元素周期表来获取某些内容,但它仍然会返回如下错误消息:

错误获取 http://en.wikipedia.org/wiki/Periodic_table:在PeriodicTable.pl第13行被禁止

$mech->get($url)如果$urlhttp://search.cpan.org/,则可以正常工作.

任何帮助都感激不尽!


这是我的代码:

#!/usr/bin/perl -w

use strict;
use warnings;
use WWW::Mechanize;
use HTML::TreeBuilder;
my $mech = WWW::Mechanize->new( autocheck => 1 );

$mech = WWW::Mechanize->new();

my $table_url = "http://en.wikipedia.org/wiki/Periodic_table/";

$mech->get( $table_url );
Run Code Online (Sandbox Code Playgroud)

perl www-mechanize

3
推荐指数
1
解决办法
2331
查看次数

如何从输入文件中读取带有argv和重定向的输入文件

我的程序需要接受以下三种输入命令:

./Myprogram input.txt
./Myprogram < input.txt
./Myprogram
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用argc检查解决前两种情况的参数数量(因为重定向不算作参数).但后来我坚持最后一个案例,它只是等待用户输入.

我想知道是否有办法判断shell命令中是否存在重定向?

对于更复杂的场景,例如重定向和argv形式的混合(见下文).有没有办法做到这一点,或者它只是一个糟糕的设计用于获取用户命令?

./Myprogram input1.txt input2.txt input3.txt
./Myprogram input1.txt < input2.txt input3.txt
./Myprogram
Run Code Online (Sandbox Code Playgroud)

任何帮助都感激不尽!

Z.Zen

c c++

3
推荐指数
1
解决办法
2060
查看次数

表达"BIO*client =(BIO*)arg"是什么意思?

以下是代码的上下文:

void THREAD_CC server_thread(void *arg)
{
    BIO *client = (BIO *)arg;
        ...
}
Run Code Online (Sandbox Code Playgroud)

表达式是否将(BIO *)argvoid指针arg转换为指向BIO的指针?我不确定我是否正确.

任何帮助将非常感激!

Z.Zen

c pointers void-pointers

2
推荐指数
1
解决办法
121
查看次数

使用WWW :: Mechanize在<td>标记内获取<a>时获取<td>文本

我是Perl-HTML的新手.我正在尝试从HTML表中获取文本和链接.

这是HTML结构:

<td>Td-Text
    <br>
    <a href="Link-I-Want" title="title-I-Want">A-Text</a>
</td>
Run Code Online (Sandbox Code Playgroud)

我已经发现WWW :: Mechanize是从<a>部件中获取所需内容的最简单模块,但我不知道如何从中获取文本<td>.我希望这两个任务背靠背发生,因为我需要将每个单元<td>-Text与其对应<a>-Text的哈希数组配对.

任何帮助都感激不尽!

Z.Zen

perl perl-module html-parsing

2
推荐指数
1
解决办法
1924
查看次数