使用gcc我试图在x86_64系统上创建一个共享库。代码是
public int remainCards[] = new int[16];
使用int myglob = 42;
int ml_func(int a, int b)
{
myglob += a;
return b + myglob;
}
然后gcc -c -g code.c -o code.o
进行编译并抛出错误!
错误为gcc -shared code.o -o libcode.so
。
所以我尝试使用 -fPIC 标志进行编译,但它会抛出同样的错误。
注意:我正在尝试在库中查看加载时重定位,因此我无法使用标记/usr/bin/ld: libconst.o: relocation R_X86_64_PC32 against symbol 'myglob' can not be used when making a shared object; recompile with -fPIC
。
答案 0 :(得分:0)
在x86_64架构上,gcc要求您使用-fPIC
(位置无关代码)。这是因为符号rand的重定位类型是R_X86_64_PC32类型。你可以做的是使用-mcmodel=large
将重定位类型设置为R_X86_64_64。
gcc -g -mcmodel=large -c code.c -o code.o
gcc -shared -o libcode.so code.o
更好地解释here。
答案 1 :(得分:0)
如果未在库中的代码之外使用results["HomeWin"] = results["Home Team"].astype(int) < results["OT?"].astype(int)
,则可以为变量指定import pandas as pd
results = pd.DataFrame({'Home Team':['1','2','3'],
'OT?':['4','2','1']})
print (results)
Home Team OT?
0 1 4
1 2 2
2 3 1
results["HomeWin"] = results["Home Team"].astype(int) < results["OT?"].astype(int)
print (results)
Home Team OT? HomeWin
0 1 4 True
1 2 2 False
2 3 1 False
存储类。 =IF(DATEDIF(B595;TODAY();"y")=0;"";DATEDIF(B595;TODAY();"y") & " years, ") & _
IF(DATEDIF(B595;TODAY();"ym")=0;"";DATEDIF(B595;TODAY();"ym") & " months, ") & _
IF(DATEDIF(B595;TODAY();"md")=0;"";DATEDIF(B595;TODAY();"md") & " days, ")
全局变量将位于myglob
细分中。
示例:
static