wayne
发表于 2011-1-10 00:28:38
我猜在你的def文件里含有 mpz_out_str的那行一定有问题
G-Spider
发表于 2011-1-10 14:27:20
Microsoft (R) COFF/PE Dumper Version 8.00.50727.42
Copyright (C) Microsoft Corporation.All rights reserved.
Dump of file libgmp-10.dll
File Type: DLL
Section contains the following exports for libgmp-10.dll
00000000 characteristics
4D2A9E4B time date stamp Mon Jan 10 13:51:07 2011
0.00 version
1 ordinal base
534 number of functions
534 number of names
ordinal hint RVA name
1 0 000510FC __gmp_0
2 1 0004A000 __gmp_allocate_func
3 2 00041310 __gmp_asprintf
4 3 00041420 __gmp_asprintf_final
5 4 00055450 __gmp_asprintf_funs
6 5 00041340 __gmp_asprintf_memory
7 6 000413B0 __gmp_asprintf_reps
8 7 00001300 __gmp_assert_fail
9 8 00001280 __gmp_assert_header
10 9 000512E0 __gmp_binvert_limb_table
11 A 000510F8 __gmp_bits_per_limb
12 B 000015A0 __gmp_default_allocate
13 C 0004A060 __gmp_default_fp_limb_precision
14 D 00001540 __gmp_default_free
15 E 00001550 __gmp_default_reallocate
16 F 00051100 __gmp_digit_value_tab
17 10 00001410 __gmp_divide_by_zero
18 11 00041460 __gmp_doprnt
19 12 00042600 __gmp_doprnt_integer
20 13 00041D00 __gmp_doprnt_mpf2
21 14 000430E0 __gmp_doscan
22 15 00057038 __gmp_errno
23 16 000013D0 __gmp_exception
24 17 00001420 __gmp_extract_double
25 18 000523C0 __gmp_fib_table
26 19 00042A70 __gmp_fprintf
27 1A 00055420 __gmp_fprintf_funs
28 1B 0004A008 __gmp_free_func
29 1C 00043DD0 __gmp_fscanf
30 1D 0005566C __gmp_fscanf_funs
31 1E 000015E0 __gmp_get_memory_functions
32 1F 00002680 __gmp_init_primesieve
33 20 00001520 __gmp_invalid_operation
34 21 00057A88 __gmp_junk
35 22 00001E40 __gmp_mt_recalc_buffer
36 23 00002440 __gmp_nextprime
37 24 00042AA0 __gmp_printf
38 25 000016A0 __gmp_randclear = ___gmp_tmp_reentrant_alloc
39 26 00001DD0 __gmp_randclear_mt
40 27 00001F00 __gmp_randget_mt
41 28 00001660 __gmp_randinit
42 29 000016C0 __gmp_randinit_default
43 2A 00001CC0 __gmp_randinit_lc_2exp
44 2B 000016F0 __gmp_randinit_lc_2exp_size
45 2C 000022F0 __gmp_randinit_mt
46 2D 00002010 __gmp_randinit_mt_noseed
47 2E 000016D0 __gmp_randinit_set
48 2F 00001DF0 __gmp_randiset_mt
49 30 00057A8C __gmp_rands
50 31 0005703C __gmp_rands_initialized
51 32 00002310 __gmp_randseed
52 33 00002330 __gmp_randseed_ui
53 34 0004A004 __gmp_reallocate_func
54 35 00043E10 __gmp_scanf
55 36 00001620 __gmp_set_memory_functions
56 37 00042BC0 __gmp_snprintf
57 38 00055430 __gmp_snprintf_funs
58 39 00042DA0 __gmp_sprintf
59 3A 00055440 __gmp_sprintf_funs
60 3B 00001400 __gmp_sqrt_of_negative
61 3C 00043E40 __gmp_sscanf
62 3D 0005567C __gmp_sscanf_funs
63 3E 000026A0 __gmp_tmp_reentrant_alloc
64 3F 000026E0 __gmp_tmp_reentrant_free
65 40 00002370 __gmp_urandomb_ui
66 41 000023B0 __gmp_urandomm_ui
67 42 00042F30 __gmp_vasprintf
68 43 00052018 __gmp_version
69 44 00042F90 __gmp_vfprintf = ___dyn_tls_dtor@12
70 45 00043EF0 __gmp_vfscanf
71 46 00042FC0 __gmp_vprintf
72 47 00043F20 __gmp_vscanf
73 48 00042FF0 __gmp_vsnprintf
74 49 00043030 __gmp_vsprintf
75 4A 00043F50 __gmp_vsscanf
76 4B 00006B80 __gmpf_abs
77 4C 000046F0 __gmpf_add
78 4D 00004A40 __gmpf_add_ui
79 4E 000073F0 __gmpf_ceil
80 4F 000034A0 __gmpf_clear
81 50 000034D0 __gmpf_clears = _fprintf
82 51 000065C0 __gmpf_cmp
83 52 000066E0 __gmpf_cmp_d = ___gmpf_fits_sshort_p
84 53 00006830 __gmpf_cmp_si
85 54 000067A0 __gmpf_cmp_ui
86 55 000061B0 __gmpf_div
87 56 00006A50 __gmpf_div_2exp
88 57 00006430 __gmpf_div_ui = ___gmpf_trunc
89 58 00003D50 __gmpf_dump = ___gmpn_add_1.clone.1
90 59 00003E00 __gmpf_eq
91 5A 00007660 __gmpf_fits_sint_p
92 5B 000076A0 __gmpf_fits_slong_p
93 5C 000076E0 __gmpf_fits_sshort_p
94 5D 00007720 __gmpf_fits_uint_p
95 5E 00007750 __gmpf_fits_ulong_p
96 5F 00007780 __gmpf_fits_ushort_p
97 60 00007410 __gmpf_floor
98 61 00006E00 __gmpf_get_d
99 62 00006E50 __gmpf_get_d_2exp
100 63 00006FB0 __gmpf_get_default_prec
101 64 00006FC0 __gmpf_get_prec
102 65 000077C0 __gmpf_get_si
103 66 00003670 __gmpf_get_str
104 67 00007820 __gmpf_get_ui
105 68 00002710 __gmpf_init
106 69 00002750 __gmpf_init2
107 6A 000032B0 __gmpf_init_set
108 6B 00003460 __gmpf_init_set_d
109 6C 00003390 __gmpf_init_set_si
110 6D 000033F0 __gmpf_init_set_str
111 6E 00003340 __gmpf_init_set_ui
112 6F 000027A0 __gmpf_inits
113 70 00004300 __gmpf_inp_str
114 71 00007860 __gmpf_integer_p
115 72 00005E50 __gmpf_mul = ___gmpf_get_d_2exp
116 73 00006910 __gmpf_mul_2exp
117 74 00006020 __gmpf_mul_ui
118 75 00006BF0 __gmpf_neg
119 76 00004500 __gmpf_out_str
120 77 000074E0 __gmpf_pow_ui
121 78 00004220 __gmpf_random2
122 79 00003FF0 __gmpf_reldiff
123 7A 000027D0 __gmpf_set
124 7B 000031B0 __gmpf_set_d
125 7C 00006EC0 __gmpf_set_default_prec
126 7D 00006EE0 __gmpf_set_prec
127 7E 00006F90 __gmpf_set_prec_raw
128 7F 00006C70 __gmpf_set_q
129 80 00002870 __gmpf_set_si
130 81 000028B0 __gmpf_set_str
131 82 00002850 __gmpf_set_ui
132 83 00003240 __gmpf_set_z
133 84 00003DE0 __gmpf_size = ___gmpf_sub
134 85 000040D0 __gmpf_sqrt
135 86 00007160 __gmpf_sqrt_ui
136 87 00004DE0 __gmpf_sub
137 88 000056A0 __gmpf_sub_ui
138 89 00007620 __gmpf_swap
139 8A 00007430 __gmpf_trunc
140 8B 00006FD0 __gmpf_ui_div
141 8C 000057A0 __gmpf_ui_sub = ___gmpf_cmp_ui
142 8D 00007580 __gmpf_urandomb
143 8E 00017F10 __gmpn_add
144 8F 00017FA0 __gmpn_add_1
145 90 00018050 __gmpn_add_n
146 91 000180F7 __gmpn_add_nc
147 92 000184E0 __gmpn_addmul_1
148 93 000184C0 __gmpn_addmul_1c
149 94 0003F1E0 __gmpn_addmul_2
150 95 00041000 __gmpn_and_n
151 96 00041030 __gmpn_andn_n
152 97 000524A0 __gmpn_bases
153 98 00038320 __gmpn_bc_mulmod_bnm1
154 99 00020CB0 __gmpn_bc_set_str
155 9A 0003F070 __gmpn_bdiv_dbm1c
156 9B 0003EA90 __gmpn_bdiv_q
157 9C 0003CE10 __gmpn_bdiv_q_1
158 9D 0003EBE0 __gmpn_bdiv_q_itch
159 9E 0003EC10 __gmpn_bdiv_qr
160 9F 0003EDC0 __gmpn_bdiv_qr_itch
161 A0 00038100 __gmpn_binvert
162 A1 000380C0 __gmpn_binvert_itch
163 A2 000215E0 __gmpn_cmp
164 A3 00018330 __gmpn_com
165 A4 00041200 __gmpn_copyd
166 A5 000411E0 __gmpn_copyi
167 A6 00020F00 __gmpn_dc_set_str
168 A7 0003D330 __gmpn_dcpi1_bdiv_q
169 A8 0003D1B0 __gmpn_dcpi1_bdiv_q_n
170 A9 0003D1A0 __gmpn_dcpi1_bdiv_q_n_itch
171 AA 0003D7E0 __gmpn_dcpi1_bdiv_qr
172 AB 0003D5F0 __gmpn_dcpi1_bdiv_qr_n
173 AC 0003D5E0 __gmpn_dcpi1_bdiv_qr_n_itch
174 AD 0003A160 __gmpn_dcpi1_div_q
G-Spider
发表于 2011-1-10 14:27:59
175 AE 0003A680 __gmpn_dcpi1_div_qr = ___gmpn_add_1.clone.0
176 AF 0003A390 __gmpn_dcpi1_div_qr_n
177 B0 0003B010 __gmpn_dcpi1_divappr_q
178 B1 0003ADD0 __gmpn_dcpi1_divappr_q_n
179 B2 00024A10 __gmpn_div_q
180 B3 0003EDF0 __gmpn_divexact
181 B4 00018B20 __gmpn_divexact_1
182 B5 00001340 __gmpn_divexact_by3
183 B6 00018C20 __gmpn_divexact_by3c
184 B7 00018C60 __gmpn_divisible_p
185 B8 00001380 __gmpn_divmod_1
186 B9 000190E0 __gmpn_divrem
187 BA 000194D1 __gmpn_divrem_1
188 BB 000194A0 __gmpn_divrem_1c
189 BC 00019750 __gmpn_divrem_2
190 BD 00019E70 __gmpn_dump
191 BE 0001C200 __gmpn_fft_best_k
192 BF 0001CF80 __gmpn_fft_next_size
193 C0 000198C0 __gmpn_fib2_ui
194 C1 000227F0 __gmpn_gcd
195 C2 00022700 __gmpn_gcd_1
196 C3 00023930 __gmpn_gcd_lehmer_n
197 C4 00023C90 __gmpn_gcd_subdiv_step
198 C5 00022B80 __gmpn_gcdext
199 C6 00022AA0 __gmpn_gcdext_1
200 C7 00023E30 __gmpn_gcdext_lehmer_n
201 C8 00024470 __gmpn_gcdext_subdiv_step
202 C9 00026470 __gmpn_get_d
203 CA 00020590 __gmpn_get_str
204 CB 00021540 __gmpn_hamdist
205 CC 000287A0 __gmpn_hgcd
206 CD 000272B0 __gmpn_hgcd2
207 CE 00028760 __gmpn_hgcd_itch
208 CF 00028360 __gmpn_hgcd_lehmer
209 D0 000284B0 __gmpn_hgcd_matrix_adjust
210 D1 000282F0 __gmpn_hgcd_matrix_init
211 D2 000283D0 __gmpn_hgcd_matrix_mul
212 D3 00027980 __gmpn_hgcd_mul_matrix1_inverse_vector
213 D4 000278B0 __gmpn_hgcd_mul_matrix1_vector
214 D5 00037E00 __gmpn_invert
215 D6 000412C0 __gmpn_invert_limb
216 D7 00037D40 __gmpn_invertappr
217 D8 000410B0 __gmpn_ior_n
218 D9 000410E0 __gmpn_iorn_n
219 DA 000263F0 __gmpn_jacobi_base
220 DB 00018840 __gmpn_lshift
221 DC 0001A710 __gmpn_lshiftc
222 DD 00027010 __gmpn_matrix22_mul
223 DE 00026740 __gmpn_matrix22_mul_itch
224 DF 00026770 __gmpn_matrix22_mul_strassen
225 E0 00019AE0 __gmpn_mod_1
226 E1 00019FB0 __gmpn_mod_1_1p
227 E2 00019F20 __gmpn_mod_1_1p_cps
228 E3 0001A160 __gmpn_mod_1s_2p
229 E4 0001A0A0 __gmpn_mod_1s_2p_cps
230 E5 0001A390 __gmpn_mod_1s_3p
231 E6 0001A2B0 __gmpn_mod_1s_3p_cps
232 E7 0001A500 __gmpn_mod_1s_4p
233 E8 0001A647 __gmpn_mod_1s_4p_cps
234 E9 00019CB0 __gmpn_mod_34lsub1
235 EA 00019D90 __gmpn_modexact_1_odd
236 EB 00019D80 __gmpn_modexact_1c_odd
237 EC 0003DB30 __gmpn_mu_bdiv_q
238 ED 0003E150 __gmpn_mu_bdiv_q_itch
239 EE 0003E250 __gmpn_mu_bdiv_qr = ___gmpn_redc_2
240 EF 0003E990 __gmpn_mu_bdiv_qr_itch
241 F0 0003C7B0 __gmpn_mu_div_q
242 F1 0003CCA0 __gmpn_mu_div_q_itch
243 F2 0003BCF0 __gmpn_mu_div_qr
244 F3 0003BAF0 __gmpn_mu_div_qr_choose_in
245 F4 0003BF30 __gmpn_mu_div_qr_itch
246 F5 0003C480 __gmpn_mu_divappr_q
247 F6 0003C3F0 __gmpn_mu_divappr_q_choose_in
248 F7 0003C610 __gmpn_mu_divappr_q_itch
249 F8 0001A7B0 __gmpn_mul
250 F9 00018380 __gmpn_mul_1
251 FA 00018360 __gmpn_mul_1c
252 FB 0001D7A0 __gmpn_mul_basecase
253 FC 0001CF90 __gmpn_mul_fft
254 FD 0001D450 __gmpn_mul_n
255 FE 00028D50 __gmpn_mullo_basecase
256 FF 00028C60 __gmpn_mullo_n
257100 00038390 __gmpn_mulmod_bnm1
258101 000389D0 __gmpn_mulmod_bnm1_next_size
259102 00041070 __gmpn_nand_n
260103 000182F0 __gmpn_neg
261104 000377A0 __gmpn_ni_invertappr
262105 00041120 __gmpn_nior_n
263106 0001E6D0 __gmpn_nussbaumer_mul
264107 000220A0 __gmpn_perfect_power_p
265108 00021620 __gmpn_perfect_square_p
266109 0003CD20 __gmpn_pi1_bdiv_q_1
26710A 000213A0 __gmpn_popcount
26810B 0001EA60 __gmpn_pow_1
26910C 0003FFB0 __gmpn_powlo
27010D 0003F650 __gmpn_powm
27110E 00040480 __gmpn_powm_sec
27210F 000408F0 __gmpn_powm_sec_itch
273110 00019430 __gmpn_preinv_divrem_1
274111 00019E10 __gmpn_preinv_mod_1
275112 0003B710 __gmpn_preinv_mu_div_qr
276113 0003BF90 __gmpn_preinv_mu_divappr_q
277114 0001E850 __gmpn_random
278115 0001E8E0 __gmpn_random2
279116 0003F120 __gmpn_redc_1
280117 00040990 __gmpn_redc_1_sec
281118 0003F250 __gmpn_redc_2
282119 0003F3A0 __gmpn_redc_n
28311A 00040B30 __gmpn_remove
28411B 0001F8D0 __gmpn_rootrem
28511C 000189B8 __gmpn_rshift
28611D 0003CE80 __gmpn_sbpi1_bdiv_q
28711E 0003CFE0 __gmpn_sbpi1_bdiv_qr
28811F 00038F50 __gmpn_sbpi1_div_q
289120 000397F0 __gmpn_sbpi1_div_qr
290121 00039A80 __gmpn_sbpi1_divappr_q
291122 00021310 __gmpn_scan0
292123 00021360 __gmpn_scan1
293124 00021180 __gmpn_set_str
294125 00020AF0 __gmpn_set_str_compute_powtab
295126 0001D620 __gmpn_sqr
296127 0001DEF0 __gmpn_sqr_basecase
297128 00038A50 __gmpn_sqrmod_bnm1
298129 00038ED0 __gmpn_sqrmod_bnm1_next_size
29912A 0001FDF0 __gmpn_sqrtrem
30012B 00018100 __gmpn_sub
30112C 00018190 __gmpn_sub_1
30212D 00018240 __gmpn_sub_n
30312E 000182E7 __gmpn_sub_nc
30412F 00040930 __gmpn_subcnd_n
305130 00018687 __gmpn_submul_1
306131 00018680 __gmpn_submul_1c
307132 000403E0 __gmpn_tabselect
308133 000256B0 __gmpn_tdiv_qr
309134 00028DD0 __gmpn_toom22_mul
310135 00033290 __gmpn_toom2_sqr
311136 00029400 __gmpn_toom32_mul
312137 0002B1F0 __gmpn_toom33_mul
313138 00033610 __gmpn_toom3_sqr
314139 00029BE0 __gmpn_toom42_mul
31513A 0002B770 __gmpn_toom43_mul
31613B 0002CAC0 __gmpn_toom44_mul
31713C 00033900 __gmpn_toom4_sqr
31813D 0002A1F0 __gmpn_toom52_mul = ___gmpn_toom33_mul
31913E 0002BC50 __gmpn_toom53_mul
32013F 0002A890 __gmpn_toom62_mul
321140 0002C440 __gmpn_toom63_mul
322141 0002EB40 __gmpn_toom6_sqr
323142 0002D450 __gmpn_toom6h_mul
324143 00031820 __gmpn_toom8_sqr
325144 0002EF80 __gmpn_toom8h_mul
326145 00033160 __gmpn_toom_couple_handling = ___gmpn_toom_eval_pm1
327146 00033EF0 __gmpn_toom_eval_dgr3_pm1
328147 00033FE0 __gmpn_toom_eval_dgr3_pm2
329148 00034160 __gmpn_toom_eval_pm1
330149 000343E0 __gmpn_toom_eval_pm2
33114A 00034680 __gmpn_toom_eval_pm2exp
33214B 00034A10 __gmpn_toom_eval_pm2rexp
33314C 00036030 __gmpn_toom_interpolate_12pts
33414D 00036930 __gmpn_toom_interpolate_16pts
33514E 00034CA0 __gmpn_toom_interpolate_5pts
33614F 00035000 __gmpn_toom_interpolate_6pts
337150 00035540 __gmpn_toom_interpolate_7pts
338151 00035AF0 __gmpn_toom_interpolate_8pts
339152 00040A40 __gmpn_trialdiv
340153 000412A8 __gmpn_udiv_qrnnd
341154 00041290 __gmpn_umul_ppmm
342155 00041190 __gmpn_xnor_n
343156 00041160 __gmpn_xor_n
344157 00041270 __gmpn_zero
345158 00015BB0 __gmpq_abs
346159 00015F60 __gmpq_add
34715A 00015FA0 __gmpq_canonicalize
34815B 00016090 __gmpq_clear
34915C 000160D0 __gmpq_clears
35015D 00016100 __gmpq_cmp
35115E 000163B0 __gmpq_cmp_si
35215F 00016440 __gmpq_cmp_ui
353160 00016610 __gmpq_div
354161 000170B0 __gmpq_div_2exp
355162 000178A0 __gmpq_equal
356163 00016900 __gmpq_get_d
357164 00016A80 __gmpq_get_den
358165 00016AE0 __gmpq_get_num
359166 00016B50 __gmpq_get_str
360167 00016C80 __gmpq_init
361168 00016CD0 __gmpq_inits
362169 00016D00 __gmpq_inp_str
36316A 00016E00 __gmpq_inv
36416B 00017130 __gmpq_mul
36516C 00017080 __gmpq_mul_2exp
36616D 000173D0 __gmpq_neg
36716E 00017490 __gmpq_out_str
36816F 00017550 __gmpq_set
369170 000179D0 __gmpq_set_d
370171 000175F0 __gmpq_set_den
371172 00017CA0 __gmpq_set_f
372173 00017660 __gmpq_set_num
373174 000176D0 __gmpq_set_si
374175 00017740 __gmpq_set_str
375176 00017850 __gmpq_set_ui
376177 00017950 __gmpq_set_z
377178 00015F80 __gmpq_sub
378179 00017EC0 __gmpq_swap
37917A 000078C0 __gmpz_abs
38017B 00007930 __gmpz_add
38117C 00007B10 __gmpz_add_ui
38217D 00007F00 __gmpz_addmul
38317E 00008300 __gmpz_addmul_ui
38417F 00008490 __gmpz_and
385180 00007F40 __gmpz_aorsmul_1
386181 00008890 __gmpz_array_init
387182 00008900 __gmpz_bin_ui
388183 00008B70 __gmpz_bin_uiui
389184 00008DC0 __gmpz_cdiv_q
390185 000095C0 __gmpz_cdiv_q_2exp
391186 00008E90 __gmpz_cdiv_q_ui
392187 00008F90 __gmpz_cdiv_qr
393188 000090A0 __gmpz_cdiv_qr_ui
394189 000091C0 __gmpz_cdiv_r
39518A 00009860 __gmpz_cdiv_r_2exp
39618B 000092A0 __gmpz_cdiv_r_ui
39718C 00009350 __gmpz_cdiv_ui
39818D 000098A0 __gmpz_clear
39918E 000098C0 __gmpz_clears
40018F 000098F0 __gmpz_clrbit
401190 00009A80 __gmpz_cmp
402191 00009B00 __gmpz_cmp_d
403192 00009CC0 __gmpz_cmp_si = ___gmpz_divexact_ui
404193 00009D20 __gmpz_cmp_ui
405194 00009D60 __gmpz_cmpabs
406195 00009DD0 __gmpz_cmpabs_d
407196 00009F40 __gmpz_cmpabs_ui
408197 0000A0E0 __gmpz_com
409198 0000A1A0 __gmpz_combit
410199 0000A690 __gmpz_congruent_2exp_p
41119A 0000A360 __gmpz_congruent_p
41219B 0000A890 __gmpz_congruent_ui_p
41319C 0000A9D0 __gmpz_divexact
41419D 0000ABE0 __gmpz_divexact_gcd
41519E 0000ACC0 __gmpz_divexact_ui
41619F 0000AE80 __gmpz_divisible_2exp_p
4171A0 0000AD80 __gmpz_divisible_p
4181A1 0000ADE0 __gmpz_divisible_ui_p
4191A2 0000AF00 __gmpz_dump
4201A3 0000AF50 __gmpz_export
4211A4 0000BB40 __gmpz_fac_ui
4221A5 0000C000 __gmpz_fdiv_q
4231A6 000095F0 __gmpz_fdiv_q_2exp
4241A7 0000C0D0 __gmpz_fdiv_q_ui
4251A8 0000C1D0 __gmpz_fdiv_qr
4261A9 0000C2E0 __gmpz_fdiv_qr_ui
4271AA 0000C410 __gmpz_fdiv_r
4281AB 00009880 __gmpz_fdiv_r_2exp
4291AC 0000C4F0 __gmpz_fdiv_r_ui
4301AD 0000C5A0 __gmpz_fdiv_ui
4311AE 0000C870 __gmpz_fib2_ui
4321AF 0000C610 __gmpz_fib_ui
4331B0 0000C910 __gmpz_fits_sint_p
4341B1 0000C950 __gmpz_fits_slong_p
4351B2 0000C990 __gmpz_fits_sshort_p
4361B3 0000C9D0 __gmpz_fits_uint_p
4371B4 0000C9E0 __gmpz_fits_ulong_p
4381B5 0000C9F0 __gmpz_fits_ushort_p
4391B6 0000CA20 __gmpz_gcd
4401B7 0000CED0 __gmpz_gcd_ui
4411B8 0000CF90 __gmpz_gcdext
4421B9 0000D450 __gmpz_get_d
4431BA 0000D490 __gmpz_get_d_2exp
4441BB 0000D500 __gmpz_get_si
4451BC 0000D540 __gmpz_get_str
4461BD 0000D7F0 __gmpz_get_ui
4471BE 0000D810 __gmpz_getlimbn
4481BF 0000D850 __gmpz_hamdist
4491C0 0000DA70 __gmpz_import
4501C1 0000DDC0 __gmpz_init
4511C2 0000DDF0 __gmpz_init2
4521C3 0000EAE0 __gmpz_init_set
4531C4 0000EB50 __gmpz_init_set_d
4541C5 0000EBA0 __gmpz_init_set_si
4551C6 0000EC00 __gmpz_init_set_str
4561C7 0000EC60 __gmpz_init_set_ui
4571C8 0000DE40 __gmpz_inits
4581C9 0000DE70 __gmpz_inp_raw
4591CA 0000E360 __gmpz_inp_str = ___gmpz_si_kronecker
4601CB 0000DFF0 __gmpz_inp_str_nowhite
4611CC 0000E400 __gmpz_invert
4621CD 0000E6D0 __gmpz_ior
4631CE 0000ECB0 __gmpz_jacobi
4641CF 0000F670 __gmpz_kronecker_si
4651D0 0000F7B0 __gmpz_kronecker_ui
4661D1 0000F8B0 __gmpz_lcm = ___gmpz_mul_si
4671D2 0000FA50 __gmpz_lcm_ui
4681D3 000013C0 __gmpz_legendre
4691D4 0000FE30 __gmpz_lucnum2_ui
4701D5 0000FB20 __gmpz_lucnum_ui
4711D6 00010010 __gmpz_millerrabin
4721D7 00010370 __gmpz_mod
4731D8 00010470 __gmpz_mul
4741D9 00010770 __gmpz_mul_2exp
4751DA 000108B0 __gmpz_mul_si
4761DB 00010980 __gmpz_mul_ui
4771DC 00010A40 __gmpz_n_pow_ui
4781DD 00011030 __gmpz_neg
4791DE 000110A0 __gmpz_nextprime
4801DF 00011280 __gmpz_out_raw
4811E0 00011380 __gmpz_out_str
4821E1 000115F0 __gmpz_perfect_power_p
4831E2 00011610 __gmpz_perfect_square_p
4841E3 00011640 __gmpz_popcount
4851E4 00011670 __gmpz_pow_ui
4861E5 000116F0 __gmpz_powm
4871E6 00011E70 __gmpz_powm_sec
4881E7 00012110 __gmpz_powm_ui
4891E8 000126A0 __gmpz_probab_prime_p
4901E9 00012A00 __gmpz_random
4911EA 00012A80 __gmpz_random2
4921EB 00012AE0 __gmpz_realloc
4931EC 00012B70 __gmpz_realloc2
4941ED 00012BD0 __gmpz_remove
4951EE 00012DF0 __gmpz_root
4961EF 00012FC0 __gmpz_rootrem
4971F0 00013230 __gmpz_rrandomb
4981F1 00013390 __gmpz_scan0
4991F2 000134A0 __gmpz_scan1
5001F3 000135C0 __gmpz_set
5011F4 00013630 __gmpz_set_d
5021F5 00013760 __gmpz_set_f
5031F6 00013810 __gmpz_set_q
5041F7 00013840 __gmpz_set_si
5051F8 00013870 __gmpz_set_str
5061F9 00013BA0 __gmpz_set_ui
5071FA 00013BC0 __gmpz_setbit
5081FB 0000F360 __gmpz_si_kronecker
5091FC 00013D70 __gmpz_size
5101FD 00013D90 __gmpz_sizeinbase
5111FE 00013E30 __gmpz_sqrt
5121FF 00013FE0 __gmpz_sqrtrem
513200 00014200 __gmpz_sub = ___gmpz_ui_pow_ui
514201 00014410 __gmpz_sub_ui
515202 00007F20 __gmpz_submul
516203 00008330 __gmpz_submul_ui
517204 000144F0 __gmpz_swap
518205 00014560 __gmpz_tdiv_q
519206 000147F0 __gmpz_tdiv_q_2exp
520207 000148D0 __gmpz_tdiv_q_ui
521208 00014990 __gmpz_tdiv_qr
522209 00014C40 __gmpz_tdiv_qr_ui
52320A 00014D40 __gmpz_tdiv_r
52420B 00014FB0 __gmpz_tdiv_r_2exp
52520C 000150E0 __gmpz_tdiv_r_ui
52620D 00014520 __gmpz_tdiv_ui
52720E 00015160 __gmpz_tstbit
52820F 0000F520 __gmpz_ui_kronecker
529210 00015200 __gmpz_ui_pow_ui
530211 00015240 __gmpz_ui_sub
531212 00015350 __gmpz_urandomb
532213 000153D0 __gmpz_urandomm
533214 000156F0 __gmpz_xor
534215 00049338 _get_output_format
Summary
1000 .CRT
1000 .bss
7000 .data
4000 .edata
1000 .eh_fram
1000 .idata
5000 .rdata
1000 .reloc
49000 .text
1000 .tls
G-Spider
发表于 2011-1-10 14:29:30
编译时提供的------def文件,(试一试4.3版的看看)。
-------------------------------------------------------------EXPORTS
__gmp_0 @1 DATA
__gmp_allocate_func @2 DATA
__gmp_asprintf @3
__gmp_asprintf_final @4
__gmp_asprintf_funs @5 DATA
__gmp_asprintf_memory @6
__gmp_asprintf_reps @7
__gmp_assert_fail @8
__gmp_assert_header @9
__gmp_binvert_limb_table @10 DATA
__gmp_bits_per_limb @11 DATA
__gmp_default_allocate @12
__gmp_default_fp_limb_precision @13 DATA
__gmp_default_free @14
__gmp_default_reallocate @15
__gmp_digit_value_tab @16 DATA
__gmp_divide_by_zero @17
__gmp_doprnt @18
__gmp_doprnt_integer @19
__gmp_doprnt_mpf2 @20
__gmp_doscan @21
__gmp_errno @22 DATA
__gmp_exception @23
__gmp_extract_double @24
__gmp_fib_table @25 DATA
__gmp_fprintf @26
__gmp_fprintf_funs @27 DATA
__gmp_free_func @28 DATA
__gmp_fscanf @29
__gmp_fscanf_funs @30 DATA
__gmp_get_memory_functions @31
__gmp_init_primesieve @32
__gmp_invalid_operation @33
__gmp_junk @34 DATA
__gmp_mt_recalc_buffer @35
__gmp_nextprime @36
__gmp_printf @37
__gmp_randclear @38
__gmp_randclear_mt @39
__gmp_randget_mt @40
__gmp_randinit @41
__gmp_randinit_default @42
__gmp_randinit_lc_2exp @43
__gmp_randinit_lc_2exp_size @44
__gmp_randinit_mt @45
__gmp_randinit_mt_noseed @46
__gmp_randinit_set @47
__gmp_randiset_mt @48
__gmp_rands @49 DATA
__gmp_rands_initialized @50 DATA
__gmp_randseed @51
__gmp_randseed_ui @52
__gmp_reallocate_func @53 DATA
__gmp_scanf @54
__gmp_set_memory_functions @55
__gmp_snprintf @56
__gmp_snprintf_funs @57 DATA
__gmp_sprintf @58
__gmp_sprintf_funs @59 DATA
__gmp_sqrt_of_negative @60
__gmp_sscanf @61
__gmp_sscanf_funs @62 DATA
__gmp_tmp_reentrant_alloc @63
__gmp_tmp_reentrant_free @64
__gmp_urandomb_ui @65
__gmp_urandomm_ui @66
__gmp_vasprintf @67
__gmp_version @68 DATA
__gmp_vfprintf @69
__gmp_vfscanf @70
__gmp_vprintf @71
__gmp_vscanf @72
__gmp_vsnprintf @73
__gmp_vsprintf @74
__gmp_vsscanf @75
__gmpf_abs @76
__gmpf_add @77
__gmpf_add_ui @78
__gmpf_ceil @79
__gmpf_clear @80
__gmpf_clears @81
__gmpf_cmp @82
__gmpf_cmp_d @83
__gmpf_cmp_si @84
__gmpf_cmp_ui @85
__gmpf_div @86
__gmpf_div_2exp @87
__gmpf_div_ui @88
__gmpf_dump @89
__gmpf_eq @90
__gmpf_fits_sint_p @91
__gmpf_fits_slong_p @92
__gmpf_fits_sshort_p @93
__gmpf_fits_uint_p @94
__gmpf_fits_ulong_p @95
__gmpf_fits_ushort_p @96
__gmpf_floor @97
__gmpf_get_d @98
__gmpf_get_d_2exp @99
__gmpf_get_default_prec @100
__gmpf_get_prec @101
__gmpf_get_si @102
__gmpf_get_str @103
__gmpf_get_ui @104
__gmpf_init @105
__gmpf_init2 @106
__gmpf_init_set @107
__gmpf_init_set_d @108
__gmpf_init_set_si @109
__gmpf_init_set_str @110
__gmpf_init_set_ui @111
__gmpf_inits @112
__gmpf_inp_str @113
__gmpf_integer_p @114
__gmpf_mul @115
__gmpf_mul_2exp @116
__gmpf_mul_ui @117
__gmpf_neg @118
__gmpf_out_str @119
__gmpf_pow_ui @120
__gmpf_random2 @121
__gmpf_reldiff @122
__gmpf_set @123
__gmpf_set_d @124
__gmpf_set_default_prec @125
__gmpf_set_prec @126
__gmpf_set_prec_raw @127
__gmpf_set_q @128
__gmpf_set_si @129
__gmpf_set_str @130
__gmpf_set_ui @131
__gmpf_set_z @132
__gmpf_size @133
__gmpf_sqrt @134
__gmpf_sqrt_ui @135
__gmpf_sub @136
__gmpf_sub_ui @137
__gmpf_swap @138
__gmpf_trunc @139
__gmpf_ui_div @140
__gmpf_ui_sub @141
__gmpf_urandomb @142
__gmpn_add @143
__gmpn_add_1 @144
__gmpn_add_n @145
__gmpn_add_nc @146
__gmpn_addmul_1 @147
__gmpn_addmul_1c @148
__gmpn_addmul_2 @149
__gmpn_and_n @150
__gmpn_andn_n @151
__gmpn_bases @152 DATA
__gmpn_bc_mulmod_bnm1 @153
__gmpn_bc_set_str @154
__gmpn_bdiv_dbm1c @155
__gmpn_bdiv_q @156
__gmpn_bdiv_q_1 @157
__gmpn_bdiv_q_itch @158
__gmpn_bdiv_qr @159
__gmpn_bdiv_qr_itch @160
__gmpn_binvert @161
__gmpn_binvert_itch @162
__gmpn_cmp @163
__gmpn_com @164
__gmpn_copyd @165
__gmpn_copyi @166
__gmpn_dc_set_str @167
__gmpn_dcpi1_bdiv_q @168
__gmpn_dcpi1_bdiv_q_n @169
__gmpn_dcpi1_bdiv_q_n_itch @170
__gmpn_dcpi1_bdiv_qr @171
__gmpn_dcpi1_bdiv_qr_n @172
__gmpn_dcpi1_bdiv_qr_n_itch @173
__gmpn_dcpi1_div_q @174
__gmpn_dcpi1_div_qr @175
__gmpn_dcpi1_div_qr_n @176
__gmpn_dcpi1_divappr_q @177
__gmpn_dcpi1_divappr_q_n @178
__gmpn_div_q @179
__gmpn_divexact @180
__gmpn_divexact_1 @181
__gmpn_divexact_by3 @182
__gmpn_divexact_by3c @183
__gmpn_divisible_p @184
__gmpn_divmod_1 @185
__gmpn_divrem @186
__gmpn_divrem_1 @187
__gmpn_divrem_1c @188
__gmpn_divrem_2 @189
__gmpn_dump @190
__gmpn_fft_best_k @191
__gmpn_fft_next_size @192
__gmpn_fib2_ui @193
__gmpn_gcd @194
__gmpn_gcd_1 @195
__gmpn_gcd_lehmer_n @196
__gmpn_gcd_subdiv_step @197
__gmpn_gcdext @198
__gmpn_gcdext_1 @199
__gmpn_gcdext_lehmer_n @200
__gmpn_gcdext_subdiv_step @201
__gmpn_get_d @202
__gmpn_get_str @203
__gmpn_hamdist @204
__gmpn_hgcd @205
__gmpn_hgcd2 @206
__gmpn_hgcd_itch @207
__gmpn_hgcd_lehmer @208
__gmpn_hgcd_matrix_adjust @209
__gmpn_hgcd_matrix_init @210
__gmpn_hgcd_matrix_mul @211
__gmpn_hgcd_mul_matrix1_inverse_vector @212
__gmpn_hgcd_mul_matrix1_vector @213
__gmpn_invert @214
__gmpn_invert_limb @215
__gmpn_invertappr @216
__gmpn_ior_n @217
__gmpn_iorn_n @218
__gmpn_jacobi_base @219
__gmpn_lshift @220
__gmpn_lshiftc @221
__gmpn_matrix22_mul @222
__gmpn_matrix22_mul_itch @223
__gmpn_matrix22_mul_strassen @224
__gmpn_mod_1 @225
__gmpn_mod_1_1p @226
__gmpn_mod_1_1p_cps @227
__gmpn_mod_1s_2p @228
__gmpn_mod_1s_2p_cps @229
__gmpn_mod_1s_3p @230
__gmpn_mod_1s_3p_cps @231
__gmpn_mod_1s_4p @232
__gmpn_mod_1s_4p_cps @233
__gmpn_mod_34lsub1 @234
__gmpn_modexact_1_odd @235
__gmpn_modexact_1c_odd @236
__gmpn_mu_bdiv_q @237
__gmpn_mu_bdiv_q_itch @238
__gmpn_mu_bdiv_qr @239
__gmpn_mu_bdiv_qr_itch @240
__gmpn_mu_div_q @241
__gmpn_mu_div_q_itch @242
__gmpn_mu_div_qr @243
__gmpn_mu_div_qr_choose_in @244
__gmpn_mu_div_qr_itch @245
__gmpn_mu_divappr_q @246
__gmpn_mu_divappr_q_choose_in @247
__gmpn_mu_divappr_q_itch @248
__gmpn_mul @249
__gmpn_mul_1 @250
__gmpn_mul_1c @251
__gmpn_mul_basecase @252
__gmpn_mul_fft @253
__gmpn_mul_n @254
__gmpn_mullo_basecase @255
__gmpn_mullo_n @256
__gmpn_mulmod_bnm1 @257
__gmpn_mulmod_bnm1_next_size @258
__gmpn_nand_n @259
__gmpn_neg @260
__gmpn_ni_invertappr @261
__gmpn_nior_n @262
__gmpn_nussbaumer_mul @263
__gmpn_perfect_power_p @264
__gmpn_perfect_square_p @265
__gmpn_pi1_bdiv_q_1 @266
__gmpn_popcount @267
__gmpn_pow_1 @268
__gmpn_powlo @269
__gmpn_powm @270
__gmpn_powm_sec @271
__gmpn_powm_sec_itch @272
__gmpn_preinv_divrem_1 @273
__gmpn_preinv_mod_1 @274
__gmpn_preinv_mu_div_qr @275
__gmpn_preinv_mu_divappr_q @276
__gmpn_random @277
__gmpn_random2 @278
__gmpn_redc_1 @279
__gmpn_redc_1_sec @280
__gmpn_redc_2 @281
__gmpn_redc_n @282
__gmpn_remove @283
__gmpn_rootrem @284
__gmpn_rshift @285
__gmpn_sbpi1_bdiv_q @286
__gmpn_sbpi1_bdiv_qr @287
__gmpn_sbpi1_div_q @288
__gmpn_sbpi1_div_qr @289
__gmpn_sbpi1_divappr_q @290
__gmpn_scan0 @291
__gmpn_scan1 @292
__gmpn_set_str @293
__gmpn_set_str_compute_powtab @294
__gmpn_sqr @295
__gmpn_sqr_basecase @296
__gmpn_sqrmod_bnm1 @297
__gmpn_sqrmod_bnm1_next_size @298
__gmpn_sqrtrem @299
__gmpn_sub @300
__gmpn_sub_1 @301
__gmpn_sub_n @302
__gmpn_sub_nc @303
__gmpn_subcnd_n @304
__gmpn_submul_1 @305
__gmpn_submul_1c @306
__gmpn_tabselect @307
__gmpn_tdiv_qr @308
__gmpn_toom22_mul @309
__gmpn_toom2_sqr @310
__gmpn_toom32_mul @311
__gmpn_toom33_mul @312
__gmpn_toom3_sqr @313
__gmpn_toom42_mul @314
__gmpn_toom43_mul @315
__gmpn_toom44_mul @316
__gmpn_toom4_sqr @317
__gmpn_toom52_mul @318
__gmpn_toom53_mul @319
__gmpn_toom62_mul @320
__gmpn_toom63_mul @321
__gmpn_toom6_sqr @322
__gmpn_toom6h_mul @323
__gmpn_toom8_sqr @324
__gmpn_toom8h_mul @325
__gmpn_toom_couple_handling @326
__gmpn_toom_eval_dgr3_pm1 @327
__gmpn_toom_eval_dgr3_pm2 @328
__gmpn_toom_eval_pm1 @329
__gmpn_toom_eval_pm2 @330
__gmpn_toom_eval_pm2exp @331
__gmpn_toom_eval_pm2rexp @332
__gmpn_toom_interpolate_12pts @333
__gmpn_toom_interpolate_16pts @334
__gmpn_toom_interpolate_5pts @335
__gmpn_toom_interpolate_6pts @336
__gmpn_toom_interpolate_7pts @337
__gmpn_toom_interpolate_8pts @338
__gmpn_trialdiv @339
__gmpn_udiv_qrnnd @340
__gmpn_umul_ppmm @341
__gmpn_xnor_n @342
__gmpn_xor_n @343
__gmpn_zero @344
__gmpq_abs @345
__gmpq_add @346
__gmpq_canonicalize @347
__gmpq_clear @348
__gmpq_clears @349
__gmpq_cmp @350
__gmpq_cmp_si @351
__gmpq_cmp_ui @352
__gmpq_div @353
__gmpq_div_2exp @354
__gmpq_equal @355
__gmpq_get_d @356
__gmpq_get_den @357
__gmpq_get_num @358
__gmpq_get_str @359
__gmpq_init @360
__gmpq_inits @361
__gmpq_inp_str @362
__gmpq_inv @363
__gmpq_mul @364
__gmpq_mul_2exp @365
__gmpq_neg @366
__gmpq_out_str @367
__gmpq_set @368
__gmpq_set_d @369
__gmpq_set_den @370
__gmpq_set_f @371
__gmpq_set_num @372
__gmpq_set_si @373
__gmpq_set_str @374
__gmpq_set_ui @375
__gmpq_set_z @376
__gmpq_sub @377
__gmpq_swap @378
__gmpz_abs @379
__gmpz_add @380
__gmpz_add_ui @381
__gmpz_addmul @382
__gmpz_addmul_ui @383
__gmpz_and @384
__gmpz_aorsmul_1 @385
__gmpz_array_init @386
__gmpz_bin_ui @387
__gmpz_bin_uiui @388
__gmpz_cdiv_q @389
__gmpz_cdiv_q_2exp @390
__gmpz_cdiv_q_ui @391
__gmpz_cdiv_qr @392
__gmpz_cdiv_qr_ui @393
__gmpz_cdiv_r @394
__gmpz_cdiv_r_2exp @395
__gmpz_cdiv_r_ui @396
__gmpz_cdiv_ui @397
__gmpz_clear @398
__gmpz_clears @399
__gmpz_clrbit @400
__gmpz_cmp @401
__gmpz_cmp_d @402
__gmpz_cmp_si @403
__gmpz_cmp_ui @404
__gmpz_cmpabs @405
__gmpz_cmpabs_d @406
__gmpz_cmpabs_ui @407
__gmpz_com @408
__gmpz_combit @409
__gmpz_congruent_2exp_p @410
__gmpz_congruent_p @411
__gmpz_congruent_ui_p @412
__gmpz_divexact @413
__gmpz_divexact_gcd @414
__gmpz_divexact_ui @415
__gmpz_divisible_2exp_p @416
__gmpz_divisible_p @417
__gmpz_divisible_ui_p @418
__gmpz_dump @419
__gmpz_export @420
__gmpz_fac_ui @421
__gmpz_fdiv_q @422
__gmpz_fdiv_q_2exp @423
__gmpz_fdiv_q_ui @424
__gmpz_fdiv_qr @425
__gmpz_fdiv_qr_ui @426
__gmpz_fdiv_r @427
__gmpz_fdiv_r_2exp @428
__gmpz_fdiv_r_ui @429
__gmpz_fdiv_ui @430
__gmpz_fib2_ui @431
__gmpz_fib_ui @432
__gmpz_fits_sint_p @433
__gmpz_fits_slong_p @434
__gmpz_fits_sshort_p @435
__gmpz_fits_uint_p @436
__gmpz_fits_ulong_p @437
__gmpz_fits_ushort_p @438
__gmpz_gcd @439
__gmpz_gcd_ui @440
__gmpz_gcdext @441
__gmpz_get_d @442
__gmpz_get_d_2exp @443
__gmpz_get_si @444
__gmpz_get_str @445
__gmpz_get_ui @446
__gmpz_getlimbn @447
__gmpz_hamdist @448
__gmpz_import @449
__gmpz_init @450
__gmpz_init2 @451
__gmpz_init_set @452
__gmpz_init_set_d @453
__gmpz_init_set_si @454
__gmpz_init_set_str @455
__gmpz_init_set_ui @456
__gmpz_inits @457
__gmpz_inp_raw @458
__gmpz_inp_str @459
__gmpz_inp_str_nowhite @460
__gmpz_invert @461
__gmpz_ior @462
__gmpz_jacobi @463
__gmpz_kronecker_si @464
__gmpz_kronecker_ui @465
__gmpz_lcm @466
__gmpz_lcm_ui @467
__gmpz_legendre @468
__gmpz_lucnum2_ui @469
__gmpz_lucnum_ui @470
__gmpz_millerrabin @471
__gmpz_mod @472
__gmpz_mul @473
__gmpz_mul_2exp @474
__gmpz_mul_si @475
__gmpz_mul_ui @476
__gmpz_n_pow_ui @477
__gmpz_neg @478
__gmpz_nextprime @479
__gmpz_out_raw @480
__gmpz_out_str @481
__gmpz_perfect_power_p @482
__gmpz_perfect_square_p @483
__gmpz_popcount @484
__gmpz_pow_ui @485
__gmpz_powm @486
__gmpz_powm_sec @487
__gmpz_powm_ui @488
__gmpz_probab_prime_p @489
__gmpz_random @490
__gmpz_random2 @491
__gmpz_realloc @492
__gmpz_realloc2 @493
__gmpz_remove @494
__gmpz_root @495
__gmpz_rootrem @496
__gmpz_rrandomb @497
__gmpz_scan0 @498
__gmpz_scan1 @499
__gmpz_set @500
__gmpz_set_d @501
__gmpz_set_f @502
__gmpz_set_q @503
__gmpz_set_si @504
__gmpz_set_str @505
__gmpz_set_ui @506
__gmpz_setbit @507
__gmpz_si_kronecker @508
__gmpz_size @509
__gmpz_sizeinbase @510
__gmpz_sqrt @511
__gmpz_sqrtrem @512
__gmpz_sub @513
__gmpz_sub_ui @514
__gmpz_submul @515
__gmpz_submul_ui @516
__gmpz_swap @517
__gmpz_tdiv_q @518
__gmpz_tdiv_q_2exp @519
__gmpz_tdiv_q_ui @520
__gmpz_tdiv_qr @521
__gmpz_tdiv_qr_ui @522
__gmpz_tdiv_r @523
__gmpz_tdiv_r_2exp @524
__gmpz_tdiv_r_ui @525
__gmpz_tdiv_ui @526
__gmpz_tstbit @527
__gmpz_ui_kronecker @528
__gmpz_ui_pow_ui @529
__gmpz_ui_sub @530
__gmpz_urandomb @531
__gmpz_urandomm @532
__gmpz_xor @533
_get_output_format @534
wayne
发表于 2011-1-10 19:50:39
34# G-Spider
我对dll和def了解的很肤浅,想问问,
有的地方 @ 后面还有DATA ,这个是必须加的吗 ,
还有,原先是有= 号的,
__gmpz_pow_ui = ___gmpz_get_ui.clone.0 @481
我没有去掉,我照搬过去,也能生成lib,似乎跟你的一样, 在使用了mpz_out_str函数的程序里出现了运行时错误,
G-Spider
发表于 2011-1-10 21:21:49
35# wayne
是很不解,其它的函数还好,就这个mpz_out_str运行通不过,执行时直接崩溃,注释掉执行你上面的测试函数没问题。out_str会不会有bug,访存越界什么的,你e-mail问问看。。似乎与def关系不大,def就是个函数名
G-Spider
发表于 2011-1-10 21:30:22
35# wayne
一般需要哪些函数,只需def中是需要定义这些函数即可,不一定非要写全。
##################################################################################
引入了一个由一个或多个 definitions(导出的函数或数据)组成的节。每个定义必须在单独一行上。
复制EXPORTS
definitions
备注
--------------------------------------------------------------------------------
EXPORTS 关键字可以在第一个定义所在的同一行或前一行上。.def 文件可以包含一个或多个 EXPORTS 语句。
导出 definitions 的语法为:
复制
entryname[=internalname] [@ordinal ]
entryname 是要导出的函数名或变量名。这是必选项。如果导出的名称与 DLL 中的名称不同,则通过 internalname 指定 DLL 中导出的名称。例如,如果 DLL 导出函数 func1(),要将它用作 func2(),则应指定:
复制EXPORTS
func2=func1
@ordinal 允许指定是序号而不是函数名将进入 DLL 的导出表。这有助于最小化 DLL 的大小。.LIB 文件将包含序号与函数之间的映射,这使您得以像通常在使用 DLL 的项目中那样使用函数名。
可选的 NONAME 关键字允许只按序号导出,并减小结果 DLL 中导出表的大小。但是,如果要在 DLL 上使用 GetProcAddress,则必须知道序号,因为名称将无效。
可选的 PRIVATE 关键字禁止将 entryname 放到由 LINK 生成的导入库中。它对同样是由 LINK 生成的图像中的导出无效。
可选的 DATA 关键字指定导出的是数据,而不是代码。例如,可以导出数据变量,如下所示:
复制EXPORTS
i DATA
当对同一导出使用 PRIVATE 和 DATA 时,PRIVATE 必须位于 DATA 的前面。
有三种导出定义的方法,按照建议的使用顺序依次为:
1.源代码中的 __declspec(dllexport) 关键字
2..def 文件中的 EXPORTS 语句
3.LINK 命令中的 /EXPORT 规范
所有这三种方法可以用在同一个程序中。LINK 在生成包含导出的程序时还创建导入库,除非生成中使用了 .exp 文件。
以下是 EXPORTS 节的示例:
复制EXPORTS
DllCanUnloadNow @1 PRIVATE DATA
DllWindowName = Name DATA
DllGetClassObject @4 NONAME PRIVATE
DllRegisterServer @7
DllUnregisterServer
注意,使用 .def 文件从 DLL 中导出变量时,不需要在变量上指定 __declspec(dllexport)。但是,在任何使用 DLL 的文件中,仍必须在数据声明上使用 __declspec(dllimport)。
wayne
发表于 2011-1-10 21:39:15
本帖最后由 wayne 于 2011-1-10 21:46 编辑
36# G-Spider
其实,我很早以前也试过从dll文件生成lib文件的,只是没成功,我想问题是 我用的 C++产生 的dll ,
刚才我重新编译了一下gmp5.0.1,C语言的版本。试试从dll转换成lib,成功了!
======================================
我用的dumpbin工具来产生def的,然后再在文本编辑器里用正则表达转换,着实费了我一番功夫,搜索了一下网络,发现 pexports 很不错,输出的def文件已经是正确的形式了:
整个过程只有两步:
\$ pexports.exe libgmp-10.dll -o >gmp5.0.1.def
\$ lib /def:gmp5.0.1.def
Microsoft (R) Library Manager Version 9.00.21022.08
Copyright (C) Microsoft Corporation.All rights reserved.
LINK : warning LNK4068: 未指定 /MACHINE;默认设置为 X86
正在创建库 gmp5.0.1.lib 和对象 gmp5.0.1.exp
G-Spider
发表于 2011-1-10 22:39:00
38# wayne
嗯,这个我当时也用了。路径出了点问题,要上课,就草草了结了。生成的lib没有问题了?那就把lib传一下吧。
无心人
发表于 2011-1-11 08:04:46
:sleepy:
没那么复杂!!!!!!!!!!!!!!!!!!!!!!!!
gmp怎么生成lib,记得我说过