結果

問題 No.2086 A+B問題
ユーザー okkuukenkenokkuukenken
提出日時 2022-09-30 21:58:09
言語 C++23
(gcc 12.3.0 + boost 1.83.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,293 bytes
コンパイル時間 4,041 ms
コンパイル使用メモリ 260,748 KB
最終ジャッジ日時 2024-06-02 05:36:00
合計ジャッジ時間 4,442 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
/usr/bin/ld: /tmp/ccL5b1D0.o: in function `main':
main.cpp:(.text.startup+0x4d): undefined reference to `__libc_dlopen_mode'
/usr/bin/ld: main.cpp:(.text.startup+0x5f): undefined reference to `__libc_dlsym'
/usr/bin/ld: main.cpp:(.text.startup+0x75): undefined reference to `__libc_dlsym'
/usr/bin/ld: main.cpp:(.text.startup+0x8b): undefined reference to `__libc_dlsym'
/usr/bin/ld: main.cpp:(.text.startup+0xa1): undefined reference to `__libc_dlsym'
/usr/bin/ld: main.cpp:(.text.startup+0xbc): undefined reference to `__libc_dlsym'
collect2: error: ld returned 1 exit status

ソースコード

diff #

#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
extern"C"{
	void*__libc_dlopen_mode(const char*x,int y);
	void*__libc_dlsym(void*x,const char*y);
	int __libc_dlclose(void*x);
}
#include"gmp.h"
typedef void(*type_mpz_init)(mpz_t);
typedef void(*type_mpz_inp_str)(mpz_t,FILE*,int);
typedef void(*type_mpz_add)(mpz_t,mpz_t,mpz_t);
typedef void(*type_mpz_out_str)(FILE*,int,mpz_t);
typedef void(*type_mpz_clear)(mpz_t);
type_mpz_init mympz_init;
type_mpz_inp_str mympz_inp_str;
type_mpz_add mympz_add;
type_mpz_out_str mympz_out_str;
type_mpz_clear mympz_clear;
int main(){
    FILE*stdin=fopen("/dev/stdin","r");
    FILE*stdout=fopen("/dev/stdout","w");
	void*H=__libc_dlopen_mode("/usr/lib64/libgmp.so.10",2);
	mympz_init=(type_mpz_init)__libc_dlsym(H,"__gmpz_init");
    mympz_inp_str=(type_mpz_inp_str)__libc_dlsym(H,"__gmpz_inp_str");
    mympz_add=(type_mpz_add)__libc_dlsym(H,"__gmpz_add");
    mympz_out_str=(type_mpz_out_str)__libc_dlsym(H,"__gmpz_out_str");
	mympz_clear=(type_mpz_clear)__libc_dlsym(H,"__gmpz_clear");
	mpz_t a,b,c;
	mympz_init(a);
    mympz_init(b);
	mympz_init(c);
    mympz_inp_str(a,stdin,10);
    mympz_inp_str(b,stdin,10);
	mympz_add(c,a,b);
    mympz_out_str(stdout,10,c);
}
0