12-02-2024 07:24 PM
sure enough not getting the .lib file from the supplier, now its all the hard way
https://learn.microsoft.com/en-us/cpp/build/getprocaddress?view=msvc-170
because visual studio will not compile without the .lib file present. Hope that works, otherwise need a different compiler..
12-02-2024 09:35 PM - edited 12-02-2024 09:49 PM
The compiler is not the problem. All C compilers need an import library lib file when compiling a binary that depends on a DLL. You could change to Linux though, there the ELF format does avoid that when calling into shared libraries.
But the first really working shared library interface for ELF binaries was about 15 years after Microsoft introduced DLLs. So they had some time to avoid a few limitations of DLLs. Shared library support under the various Unixes was in the beginning a crime, they had many inconsistencies, bugs and terrible decisions in the many competing Unix implementations, And Mac had its own thing of course which the obsoleted and redesigned at least two times.
But one of the reason they might not want to provide a lib import file is that that too depends on the C compilers. If they use Visual Studio the resulting lib file that it generates in the COFF format is the defacto standard under Windows and GCC has in the meantime learned to be able to use that as input file, but if they use a GCC based foolchain the resulting binary is often a GCC specific flavor that Visual Studio does not like. It all depends on the actuall GCC flavor used, some customized versions like from MingW by default create fully compatible binaries, stock GCC still needed special handholding with custom command line options to be talked into creating such a format even a few years ago.
There are however tools out there that can generate such import libraries with just the header file and DLL as input. Borland C used to come with one.
12-02-2024 09:58 PM
if supplier does not even give the .lib file, slim chance they give me anything else. May as well try
12-02-2024 11:47 PM
@Steffen01 wrote:
if supplier does not even give the .lib file, slim chance they give me anything else. May as well try
You can easily create lib from any dll in few steps.
1. Run Visual Studio Developer Command Prompt
If you don't know where, then for latest Visual Studio is here:
%comspec% /k "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\VsDevCmd.bat"
2. Execute command
dumpbin /EXPORTS yourfile.dll > yourfile.exports
3. Paste the names of the needed functions from yourfile.exports
into a new yourfile.def
file. Add a line with the word EXPORTS
at the top of this file.
4. Run the following command:
If your DLL is 64-bit:
lib /def:yourfile.def /machine:x64 /out:yourfile.lib
or if 32-bit:
lib /def:yourfile.def /machine:x86 /out:yourfile.lib
I don't remember which bitness is the default or if it depends on the prompt, so it's better to specify explicitly.
In theory you can call lib and dumpbin directly, for latest VS they are here:
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64
But promt is easier, at least for me.
That is all.
12-03-2024 05:19 PM
12-04-2024 01:39 AM - edited 12-04-2024 02:26 AM
Did you read Andrey’s post? All compiler toolchains have a tool to do that in one way or the other. The details are usually buried deep in the documentation as it is an advanced and seldom used feature, but it is there. They can even usually generate a delay-load import library. This import library will only attempt to resolve the imports on the first call of any of those imported functions. Handy if your exe or dll is doing a lot of general stuff and sometimes may need an optional external dll. That way it can be loaded and called even if that other dll is not present on a system. Once you try to call a function from such a DLL it will attempt to load the DLL and on failure prompt you and usually abort your process as that is the only really safe thing to do at this point.
Only challenge is that those tools are generally command line tools. The problem is to specific to warrant creating and especially maintaining in the long run yet another GUI application! But if you seriously want to venture into C programming you definitely shouldn’t be intimidated by a command line! 😀
12-04-2024 02:16 PM
I sense trouble here
function names comma separated? enter separated? One wrong letter, it all goes belly up... Anyway, I try both.
12-04-2024 03:21 PM
@Steffen01 wrote:
I sense trouble here
function names comma separated? enter separated? One wrong letter, it all goes belly up... Anyway, I try both.
"CRLF" separated
So, let's take lvanlys.dll as an exercise:
dumpbin /EXPORTS "C:\Program Files\National Instruments\Shared\LabVIEW Run-Time\2024\lvanlys.dll" > "%HOMEPATH%\Desktop\lvanlys.exports"
Now I have lvanlys.exports on my desktop with the following content:
Microsoft (R) COFF/PE Dumper Version 14.42.34435.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file C:\Program Files\National Instruments\Shared\LabVIEW Run-Time\2024\lvanlys.dll
File Type: DLL
Section contains the following exports for lvanlys.dll
00000000 characteristics
65F16843 time date stamp Wed Mar 13 09:48:03 2024
0.00 version
1 ordinal base
584 number of functions
584 number of names
ordinal hint RVA name
1 0 00022760 ANOVA3Way_head
2 1 00022830 ANOVA3Way_head_2017
3 2 0002DDF0 AllCosWinH
4 3 0002D710 AllWinH
5 4 000236D0 Anova1Way_head
6 5 00023760 Anova1Way_head_2017
7 6 00022D60 Anova2Way_head
8 7 00022DE0 Anova2Way_head_2017
9 8 00020780 AperiodTriangleH
10 9 00020290 ArbitraryWaveCIN
11 A 00012D30 AutoCorrMtrxH
12 B 00026000 AutoCorrelation
13 C 00026010 AutoCorrelation80
14 D 00010950 AxBCxAlignedCIN
15 E 00010930 AxBCxCIN
16 F 00017120 AxVectAligned_head
17 10 00017100 AxVect_head
18 11 000146C0 AxVectorCx
19 12 000146E0 AxVectorCxAligned
20 13 00006610 BSplineFit_head
21 14 0000D7C0 BWCoefs
22 15 0000D9F0 BWCoefs90
23 16 000111A0 BandEqsDriH
24 17 00018D30 BandEqsSetDriH
25 18 0002D200 BartHannWinH
26 19 00008A10 BesselCoefs
27 1A 00008C40 BesselCoefs90
28 1B 000037E0 BiExpFit_head
29 1C 00002740 BiGaussFit_head
30 1D 00003B30 BiLinearFit_head
31 1E 00008850 BiLogFit_head
32 1F 00002E10 BiPolyFit_head
33 20 00006AD0 BiPowerFit_head
34 21 00021560 BinomialNoiseH
35 22 0002DD50 BohmanWinH
36 23 00001CC0 BoundExpFit_head
37 24 00004C70 BoundGaussianFit_head
38 25 000035B0 BoundLinearFitBi_head
39 26 00005F50 BoundLinearFitLAR_head
40 27 000075A0 BoundLinearFit_head
41 28 000085C0 BoundLogFit_head
42 29 000023F0 BoundPowerFit_head
43 2A 00027C90 CICDecimatorByMovH
44 2B 00027030 CICInterpolatorByMovH
45 2C 000014B0 CartesianShift2D_head
46 2D 000012B0 CartesianShift3D_head
47 2E 0000A490 ChebyshevCoefs
48 2F 0000A6D0 ChebyshevCoefs90
49 30 0001BFC0 CheckPosSemiDef_head
50 31 0001A2B0 CheckPosdef_head
51 32 000108E0 CheckSym_head
52 33 000233E0 ChiSquare_head
53 34 00020E90 ChirpCIN
54 35 00028690 ChirpZT_head
55 36 0001A0C0 CholeskyLinEqs_head
56 37 000121B0 Cholesky_InvMatrix_head
57 38 00015890 Cholesky_head
58 39 00010AE0 CompactToMatrix_H
59 3A 00013960 Compact_to_Matrix_head
60 3B 00011E70 CondNumber_head
61 3C 00005010 ConfBndExp_head
62 3D 00001F50 ConfBndGauss_head
63 3E 00007030 ConfBndLinear_head
64 3F 00007C10 ConfBndLog_head
65 40 00002A50 ConfBndPoly_head
66 41 00003160 ConfBndPower_head
67 42 00022620 Contingency_head
68 43 00024740 Convolution
69 44 00026C10 Convolve_2DH
70 45 000019C0 CoordConversion_head
71 46 00001620 CoordRotation2D_head
72 47 00001760 CoordRotationDirect_head
73 48 00001030 CoordRotationEuler2011_head
74 49 00001250 CoordRotationEuler_head
75 4A 000241A0 Correlation_2DH
76 4B 0002D7D0 CosTapered
77 4C 0002D830 CosTaperedH
78 4D 00013EF0 CreateMatrixFromEVs_head
79 4E 0002B2C0 CrossSpectrumH
80 4F 0002B3D0 CrossSpectrumH_IDP
81 50 00006490 CubicSplineFit_head
82 51 0002DE40 CxAllCosWinH
83 52 0002D770 CxAllWinH
84 53 00013AE0 CxAutoCorrMtrxH
85 54 000127A0 CxBandEqsDriH
86 55 00019C80 CxBandEqsSetDriH
87 56 0002D250 CxBartHannWinH
88 57 0002DDA0 CxBohmanWinH
89 58 00028BA0 CxCascadedMovingAverageH
90 59 00018470 CxCheckPosSemiDef_head
91 5A 00010DB0 CxCheckPosdef_head
92 5B 00013490 CxCheckSym_head
93 5C 0002B1A0 CxChirpZT_head
94 5D 00011C50 CxCholeskyLinEqs_head
95 5E 00014810 CxCholesky_InvMatrix_head
96 5F 00019520 CxCholesky_head
97 60 00016A10 CxCompact_to_Matrix_head
98 61 0002A960 CxComplexModulatorH
99 62 00014650 CxCondNumber_head
100 63 00026330 CxConvolution
101 64 00025E20 CxConvolve_2DH
102 65 000261E0 CxCorrelation_2DH
103 66 0002D880 CxCosTaperedH
104 67 00028FC0 CxCrossSpectrumH
105 68 000290B0 CxCrossSpectrumH_IDP
106 69 0002A200 CxDZTH
107 6A 0002A350 CxDZTH_IDP
108 6B 00026950 CxDecimateContinuous_H
109 6C 00026110 CxDecimate_H
110 6D 000283E0 CxDecimatedMovingAverageH
111 6E 00012130 CxDeterminant_head
112 6F 0002D110 CxDolChebyWinH
113 70 00012A90 CxEigenVBack_head
114 71 00013D80 CxEigenValueVector_head
115 72 00014210 CxEqsByCholeskyDri_head
116 73 0001B2A0 CxEqsByLUDri_head
117 74 00010E20 CxEqsSetByCholeskyDri_head
118 75 00018EF0 CxEqsSetByLUDri_head
119 76 0001ADB0 CxEqsSetBySVDDri82_head
120 77 0001AC90 CxEqsSetBySVDDri_head
121 78 0002D980 CxExpWinH
122 79 00029BE0 CxFFT2D_H
123 7A 00029D90 CxFFT2D_H_IDP
124 7B 0002D410 CxForceWinH
125 7C 000154E0 CxFullCholesky_head
126 7D 0001B730 CxGSVD_head
127 7E 0002DAE0 CxGaussWinH
128 7F 0002DBD0 CxGenCosWinH
129 80 00016CB0 CxGenEigenEx_head
130 81 0001B5B0 CxGenLinEqs82_head
131 82 0001B440 CxGenLinEqs_head
132 83 00018DD0 CxHessenberg_head
133 84 0000DC70 CxIIRReSig_Filter_H
134 85 00008EC0 CxIIR_Filter_H
135 86 00014970 CxInitialMatrixH
136 87 00028420 CxInvFFT2D_H
137 88 00028540 CxInvFFT2D_H_IDP
138 89 00017600 CxInvMatrixChoDri_head
139 8A 000105A0 CxInvMatrixLUDri_head
140 8B 00015440 CxInvMatrixTriDri_head
141 8C 0002D510 CxKaiserH
142 8D 00016FD0 CxKroneckerProd_H
143 8E 0001A010 CxLUInvMatrix_head
144 8F 00017C40 CxLULinEqs_head
145 90 00019250 CxLU_head
146 91 00012FF0 CxLyapunov85_head
147 92 00012FD0 CxLyapunov_head
148 93 00019400 CxMatrixBalance_head
149 94 00015610 CxMatrixCharacteristicPoly_head
150 95 00012710 CxMatrixExp_head
151 96 000183E0 CxMatrixLn_head
152 97 00012410 CxMatrixPower_head
153 98 00014550 CxMatrixSqrt_head
154 99 00014A60 CxMatrix_to_Compact_head
155 9A 0001C760 CxMultPolyRoots_head
156 9B 0001C9F0 CxMultiplyPolyH
157 9C 000292E0 CxNIFFTH
158 9D 00029310 CxNIFFTH80
159 9E 000295D0 CxNIFFTH80_IDP
160 9F 0001B3D0 CxNorm_head
161 A0 0002DB80 CxParzenWinH
162 A1 0001CD90 CxPolyGCD_H
163 A2 0001DA30 CxPolyRoots_head
164 A3 00017890 CxPseudoInverse_head
165 A4 0001C440 CxQRDecH
166 A5 00018970 CxQZ80_head
167 A6 00018940 CxQZ_head
168 A7 00022680 CxRMS_head
169 A8 000144F0 CxRank_head
170 A9 000242F0 CxRationalResampleMCh_H
171 AA 00026DF0 CxRationalResample_H
172 AB 000279A0 CxResample_Const
173 AC 00024B10 CxResample_Variable
174 AD 00024C50 CxResample_Variable_MultiCh
175 AE 0001B0A0 CxSVDEx_head
176 AF 0001A1C0 CxSVDS_head
177 B0 0001BBE0 CxSVD_head
178 B1 0002D300 CxScaledWinH
179 B2 0001AA50 CxSchur80_head
180 B3 00011A30 CxSchur_head
181 B4 0000C370 CxSigFIRnarrowFilter_head
182 B5 0000CE10 CxSigIIR_Filter
183 B6 0000E210 CxSigIIR_Filter2
184 B7 0000D1A0 CxSigIIR_Filter_OneState
185 B8 0000D420 CxSigIIR_Filter_PtbyPt
186 B9 00017940 CxSpecialMatrix_head
187 BA 0002AFF0 CxSpectrumH
188 BB 0002B0B0 CxSpectrumH_IDP
189 BC 000143C0 CxSylvester81_head
190 BD 00014370 CxSylvester_head
191 BE 0002DA30 CxSymmWinH
192 BF 0001C010 CxTmiQZ_head
193 C0 00012280 CxTrace_head
194 C1 00019B70 CxTranspose_head
195 C2 000184C0 CxTriEqsSetDri_head
196 C3 000195F0 CxTriLinEqs_head
197 C4 00018860 CxTri_InvMatrix_head
198 C5 0002D6C0 CxTriangleWinH
199 C6 0001DC20 CxUnitVector80_head
200 C7 0001DBA0 CxUnitVector_head
201 C8 00010880 CxVectorNormH
202 C9 000122F0 CxVectxAAligned_head
203 CA 000122E0 CxVectxA_head
204 CB 0002D1B0 CxWelchWinH
205 CC 00011220 Cxqrd_head
206 CD 0001E6F0 CycleRMSAverage
207 CE 0001E900 CycleRMSAverage_IDP
208 CF 00029F50 DCT_1DH
209 D0 0002A090 DCT_1DH_IDP
210 D1 0002B4F0 DCT_2DH
211 D2 0002B6B0 DCT_2DH_IDP
212 D3 000287B0 DST_1DH
213 D4 000288D0 DST_1DH_IDP
214 D5 0002A4B0 DST_2DH
215 D6 0002A670 DST_2DH_IDP
216 D7 00025D30 DecimateCIN
217 D8 00025540 DecimateContinuous_H
218 D9 00026460 DecimatorFIRH
219 DA 00026650 Deconvolution
220 DB 00025B90 Derivative
221 DC 00025C30 Derivative85
222 DD 00013600 Determinant_head
223 DE 00001960 Direction2Euler2011_head
224 DF 00001980 Direction2Euler_head
225 E0 0002E1A0 DisableAnalysisWorkspaceH
226 E1 0002D0C0 DolChebyWinH
227 E2 00019FA0 DotProduct_head
228 E3 00018C20 DotprodCx
229 E4 000157D0 EigenVBack_head
230 E5 00014B90 EigenValueVector_head
231 E6 00009F80 EllipticCoefs
232 E7 0000A1F0 EllipticCoefs90
233 E8 0002E1A0 EnableAnalysisWorkspaceH
234 E9 00012820 EqsByCholeskyDri_head
235 EA 000168E0 EqsByLUDri_head
236 EB 00018650 EqsSetByCholeskyDri_head
237 EC 00011D50 EqsSetByLUDri_head
238 ED 00010460 EqsSetBySVDDri82_head
239 EE 00010340 EqsSetBySVDDri_head
240 EF 00001BB0 Euler2Direction2011_head
241 F0 00001CA0 Euler2Direction_head
242 F1 0001DE20 EvPoly2D
243 F2 00005470 ExpFit80_head
244 F3 00007860 ExpFitCoef80_head
245 F4 000077B0 ExpFitCoef_head
246 F5 000052C0 ExpFit_head
247 F6 0002D930 ExpWinH
248 F7 0002D8D0 ExpWindCIN
249 F8 00023A00 FDist_head
250 F9 0002CF90 FHTH
251 FA 0002D010 FHTH_IDP
252 FB 0000FA00 FIRCoefs
253 FC 00009250 FIRNarrowCoef_head
254 FD 0000E490 FIRnarrowFilter_head
255 FE 000291B0 FastHilbertTransformH
256 FF 00029230 FastHilbertTransformH_IDP
257 100 0002D3C0 ForceWinH
258 101 0002D360 ForceWindCIN
259 102 0002E040 FreqMod
260 103 00017260 FullCholesky_head
261 104 00017CF0 GSVD_head
262 105 000211D0 GammaNoiseH
263 106 000218F0 Gauss
264 107 00020B40 GaussMonopulseH
265 108 000209D0 GaussPulseH
266 109 0002DA90 GaussWinH
267 10A 00007470 GaussianPeakFitCoef_head
268 10B 00006970 GaussianPeakFit_head
269 10C 00005CC0 GenBisquareFit_Weight_head
270 10D 00005A20 GenBisquareFit_head
271 10E 0002DC90 GenCosWinH
272 10F 00016550 GenEigenEx_head
273 110 00023A50 GenHistH
274 111 00004260 GenLARFit_head
275 112 00008360 GenLSFit80_head
276 113 00008030 GenLSFit_head
277 114 0001A610 GenLinEqs2010_head
278 115 0001A490 GenLinEqs82_head
279 116 0001A320 GenLinEqs_head
280 117 0001A820 GenLinEqsbySVD2011_head
281 118 00004F10 GetNewCoef_head
282 119 00002680 GoodnessOfFit_head
283 11A 000174E0 Hessenberg_head
284 11B 0000B0E0 IIR_Filter
285 11C 0000DF90 IIR_Filter2
286 11D 0000B460 IIR_Filter_OneState
287 11E 0000B6C0 IIR_Filter_PtbyPt
288 11F 00020500 ImpulsePtrn
289 120 000156E0 InitialMatrixH
290 121 0002E170 InitializeAnalysisWorkspaceH
291 122 000256A0 Integral
292 123 00025740 Integral90
293 124 00025870 Integral_2017
294 125 000245D0 InterpolatedFIRH
295 126 000258E0 InterpolatorFIRH
296 127 0000FB40 InvChebyshevCoefs
297 128 0000FD80 InvChebyshevCoefs90
298 129 00023240 InvChiSquare_head
299 12A 0002BBE0 InvChirpZT_head
300 12B 000298A0 InvCxNIFFTH
301 12C 000298B0 InvCxNIFFTH80
302 12D 00029A30 InvCxNIFFTH80_IDP
303 12E 0002ADA0 InvDCT_1DH
304 12F 0002AEB0 InvDCT_1DH_IDP
305 130 00027FE0 InvDCT_2DH
306 131 00028110 InvDCT_2DH_IDP
307 132 0002B980 InvDST_1DH
308 133 0002BAA0 InvDST_1DH_IDP
309 134 0002CAB0 InvDST_2DH
310 135 0002CBD0 InvDST_2DH_IDP
311 136 00023290 InvFDist_head
312 137 0002A840 InvFHTH
313 138 0002A8B0 InvFHTH_IDP
314 139 00028270 InvFastHilbertTransformH
315 13A 000282F0 InvFastHilbertTransformH_IDP
316 13B 000148E0 InvMatrixChoDri_head
317 13C 00014000 InvMatrixLUDri_head
318 13D 00018C90 InvMatrixTriDri_head
319 13E 000239C0 InvNdist_head
320 13F 0002C500 InvReNIFFTH
321 140 0002C510 InvReNIFFTH80
322 141 0002C650 InvReNIFFTH80_IDP
323 142 0002C7B0 InvReNIFFTHCH
324 143 0002C880 InvReNIFFTHCH_IDP
325 144 00023970 InvTdist_head
326 145 0002D4C0 KaiserH
327 146 0002D460 Kaiser_Bessel
328 147 00015310 KroneckerProd_H
329 148 000072E0 LARExpFit_head
330 149 00007990 LARGaussFit_head
331 14A 00002CE0 LARLinearFit_head
332 14B 00006C40 LARLogFit_head
333 14C 00006D90 LARPolyFit_head
334 14D 00006800 LARPowerFit_head
335 14E 00019010 LUInvMatrix_head
336 14F 00019710 LULinEqs_head
337 150 000130F0 LU_head
338 151 00021E30 LV_Airy
339 152 00021EC0 LV_BesselIr
340 153 00021E40 LV_BesselJr
341 154 00021E80 LV_BesselJs
342 155 00021EE0 LV_BesselKn
343 156 00021E60 LV_BesselYr
344 157 00021EA0 LV_BesselYs
345 158 00021F00 LV_Beta
346 159 00021F60 LV_Beta_85
347 15A 00022360 LV_CosI
348 15B 000223A0 LV_CoshI
349 15C 000225F0 LV_CxAiry
350 15D 00022570 LV_CxBesselHr
351 15E 000225D0 LV_CxBesselHs
352 15F 000225A0 LV_CxBesselIr
353 160 00022550 LV_CxBesselJr
354 161 000225B0 LV_CxBesselJs
355 162 00022590 LV_CxBesselKr
356 163 00022560 LV_CxBesselYr
357 164 000225C0 LV_CxBesselYs
358 165 00022310 LV_Dawson
359 166 000224B0 LV_Diln
360 167 000221B0 LV_Elliptic1
361 168 00022200 LV_Elliptic1_85
362 169 00022240 LV_Elliptic2
363 16A 00022290 LV_Elliptic2_85
364 16B 000223E0 LV_EllipticJ
365 16C 000222D0 LV_Erf
366 16D 000222F0 LV_ErfC
367 16E 00022340 LV_ExpI
368 16F 00021F90 LV_Fact
369 170 00022330 LV_FresnelIntegrals
370 171 00021FB0 LV_Gamma
371 172 00022030 LV_GammaC
372 173 00022000 LV_Gamma_85
373 174 00022110 LV_Gauss
374 175 000220D0 LV_Gauss_2011
375 176 00022410 LV_KelvinI
376 177 00022460 LV_KelvinK
377 178 00022150 LV_Kummer
378 179 00022050 LV_LnFact
379 17A 00022070 LV_LnGamma
380 17B 000224D0 LV_ParabolicCylinder
381 17C 00022090 LV_Psi
382 17D 00022380 LV_SinI
383 17E 000223C0 LV_SinhI
384 17F 000220B0 LV_Stirling
385 180 00022500 LV_Struve
386 181 00022180 LV_Tricomi
387 182 00022530 LV_Zeta
388 183 0001D6E0 LinEv
389 184 00006220 LinFitCoef80_head
390 185 00006190 LinFitCoef_head
391 186 00005610 LinFit_head
392 187 0001D5E0 Line1
393 188 00002230 LogFitCoef_head
394 189 00007B10 LogFit_head
395 18A 00012990 Lyapunov85_head
396 18B 00012970 Lyapunov_head
397 18C 00023330 MSE_head
398 18D 00017B20 MatrixBalance_head
399 18E 000132A0 MatrixCharacteristicPoly_head
400 18F 00012680 MatrixExp_head
401 190 000133A0 MatrixLn_head
402 191 0001AF10 MatrixMulAligned_head
403 192 0001AEF0 MatrixMul_head
404 193 00018780 MatrixPower_head
405 194 00019D20 MatrixSqrtH
406 195 00019DF0 MatrixSqrt_head
407 196 00011F50 MatrixToCompact_H
408 197 00017390 Matrix_to_Compact_head
409 198 00023910 Mean_head
410 199 0001F5F0 MeasurementUnreserveProc
411 19A 0000CDB0 MedianFilter81_H
412 19B 0000CD50 MedianFilterCIN
413 19C 000226B0 Median_head
414 19D 00023600 ModeH
415 19E 00023390 Moment_head
416 19F 0001DF30 MultPolyRoots_head
417 1A0 0001FA30 MultipleToneMeasurements
418 1A1 0001D3C0 MultiplyPolyH
419 1A2 0001DAE0 Norm1
420 1A3 0001D830 Norm2
421 1A4 00023900 NormDist_head
422 1A5 000145E0 Norm_head
423 1A6 0002DE90 NumWinConstH
424 1A7 0001DD60 NumerIntegration2D_2017_head
425 1A8 0001DCA0 NumerIntegration2D_head
426 1A9 0001D530 NumerIntegration3D_2017_head
427 1AA 0001D480 NumerIntegration3D_head
428 1AB 0001D230 NumerIntegration_2017_head
429 1AC 0001D1B0 NumerIntegration_head
430 1AD 0001BE90 OuterProdCx_head
431 1AE 000167B0 OuterProd_head
432 1AF 00009520 Parks
433 1B0 0002DB30 ParzenWinH
434 1B1 0001E330 PeakD
435 1B2 0001E360 PeakD2010
436 1B3 0001E390 PeakD2014
437 1B4 0001E1C0 PeakDetector
438 1B5 00021C20 PeriodNoise
439 1B6 00021D30 PeriodicSincH
440 1B7 0002DED0 PhasMod
441 1B8 00021310 PoissonNoiseH
442 1B9 0001D780 PolarToRect1D_head
443 1BA 0001D340 PolyEv
444 1BB 00003E00 PolyFit80_head
445 1BC 00004020 PolyFit81_head
446 1BD 00003C40 PolyFit_head
447 1BE 0001CAB0 PolyGCD_H
448 1BF 00008990 PolyInterp_head
449 1C0 0001D8D0 PolyRootsNtBst_head
450 1C1 000022E0 PowerFitCoef_head
451 1C2 000056E0 PowerFit_head
452 1C3 00015960 PreallocInvMatrixChoDri_H
453 1C4 00004840 PredBndExp_head
454 1C5 00005870 PredBndGauss_head
455 1C6 00003410 PredBndLinear_head
456 1C7 00003970 PredBndLog_head
457 1C8 000028C0 PredBndPoly_head
458 1C9 000062F0 PredBndPower_head
459 1CA 00014090 PseudoInverse_head
460 1CB 0001ED50 PulseMeas
461 1CC 0001EAE0 PulseMeasEx
462 1CD 0001EE00 PulseMeasEx_IDP
463 1CE 00025A70 PulseParameters
464 1CF 00020180 PulsePtrn
465 1D0 00011710 QRDecH
466 1D1 0001D660 QS1D
467 1D2 0001DEA0 QScale
468 1D3 000136B0 QZ80_head
469 1D4 00013680 QZ_head
470 1D5 000232E0 RMS_head
471 1D6 00020FB0 RampPtrn
472 1D7 000210A0 RampPtrn80
473 1D8 000210C0 RampPtrn85
474 1D9 00011EE0 Rank_head
475 1DA 00006590 RatInterp_head
476 1DB 000273C0 RationalResampleMultiCh_H
477 1DC 00026710 RationalResample_H
478 1DD 00028A30 ReCascadedMovingAverageH
479 1DE 0002A990 ReComplexModulatorH
480 1DF 00028D10 ReDZTH
481 1E0 00028E60 ReDZTH_IDP
482 1E1 000283A0 ReDecimatedMovingAverageH
483 1E2 0002AA30 ReFFT2D_H
484 1E3 0002ABE0 ReFFT2D_H_IDP
485 1E4 0002CD20 ReInvFFT2D_H
486 1E5 0002CE40 ReInvFFT2D_H_IDP
487 1E6 0002BEE0 ReNIFFTH
488 1E7 0002BF10 ReNIFFTH80
489 1E8 0002C100 ReNIFFTH80_IDP
490 1E9 0002C330 ReNIFFTHCH
491 1EA 0002C400 ReNIFFTHCH_IDP
492 1EB 0001D290 RectToPolar1D_head
493 1EC 000276A0 Resample_Const
494 1ED 00024870 Resample_Variable
495 1EE 00024910 Resample_Variable_MultiCh
496 1EF 00020090 RiffleArrayCDB2012_head
497 1F0 00020070 RiffleArrayCDB_head
498 1F1 00021B30 RiffleArrayDBL2012_head
499 1F2 00021B10 RiffleArrayDBL_head
500 1F3 00020C80 RiffleArrayInt2012_head
501 1F4 00020C60 RiffleArrayInt_head
502 1F5 00021A50 RiffleIntNum2012_head
503 1F6 00021A30 RiffleIntNum_head
504 1F7 000049E0 RmvOutlierIndx_head
505 1F8 000044F0 RmvOutlierRng_head
506 1F9 00026AA0 Rxy
507 1FA 00026AC0 Rxy80
508 1FB 00017690 SVDEx_head
509 1FC 00015220 SVDS_head
510 1FD 00010F50 SVD_head
511 1FE 00009E00 SavitzkyGolayCoefH
512 1FF 00010010 SavitzkyGolayFiltH
513 200 0001FF60 SawtoothWaveCIN
514 201 0001D110 Scale
515 202 0001CD00 Scale1DCIN
516 203 0002DC30 ScaledCxGenCosWinH
517 204 0002DCF0 ScaledGenCosWinH
518 205 0002D2A0 ScaledWinH
519 206 000181A0 Schur80_head
520 207 00010120 Schur_head
521 208 00141D70 SetLVRTModule
522 209 00141DA0 SetLVRTModuleHook
523 20A 00141D80 SetLVRTTLSIndex
524 20B 00141DA0 SetLVRTTLSIndexHook
525 20C 000208B0 SincWave
526 20D 000216C0 SinePtrn
527 20E 000217E0 SineWaveCIN
528 20F 000030B0 SpInterp_head
529 210 00012B50 SpecialMatrix_head
530 211 0002C980 SpectrumH
531 212 0002CA00 SpectrumH_IDP
532 213 00007EE0 Spline_head
533 214 00020610 Square
534 215 00020D70 SquareWaveCIN
535 216 0001F7B0 StateLevels
536 217 0001F900 StateLevels_IDP
537 218 00016420 Sylvester81_head
538 219 000163D0 Sylvester_head
539 21A 00011540 SymEvectorEvalue_head
540 21B 0002D9D0 SymmWinH
541 21C 00022710 TDist_head
542 21D 00014D50 TmiQZ_head
543 21E 000190C0 Trace_head
544 21F 0001F040 TransMeas
545 220 0001F330 TransMeas_IDP
546 221 0002BCF0 TransformUnreserveProc
547 222 00014140 Transpose_head
548 223 00019A70 TriDiagEqsByLU_head
549 224 00016B90 TriDiagEqsSetByLU_head
550 225 00019870 TriDiagLU_head
551 226 000124F0 TriEqsSetDri_head
552 227 000134F0 TriLinEqs_head
553 228 00011460 Tri_InvMatrix_head
554 229 00021450 TriangleWaveCIN
555 22A 0002D610 TriangleWin
556 22B 0002D670 TriangleWinH
557 22C 00024E50 Triggerh
558 22D 00023CE0 Triggerh_86
559 22E 0002E1A0 UninitializeAnalysisWorkspaceH
560 22F 0002D160 WelchWinH
561 230 0002D5D0 WinConstByNameH
562 231 0002D560 WinConstByNameH_2016
563 232 000CA120 create_nifft_table
564 233 000CA160 destroy_nifft_table
565 234 00023430 histgran_head
566 235 0001FF50 measurements_clear
567 236 0001FF50 measurements_create
568 237 0001FF50 measurements_destroy
569 238 0001FD50 measurements_fetch
570 239 0000F540 ppMultiRateFIRH_CDB
571 23A 0000F7A0 ppMultiRateFIRH_CSG
572 23B 0000F080 ppMultiRateFIRH_DBL
573 23C 0000F2E0 ppMultiRateFIRH_SGL
574 23D 00010630 qrd_head
575 23E 00025460 unWrap
576 23F 000254E0 unWrap85
577 240 0001D080 unitVector80_head
578 241 0001CFE0 unitVector_head
579 242 00019A10 vectorNormH
580 243 00019130 vectxAAligned_head
581 244 00019120 vectxA_head
582 245 000203D0 white
583 246 0000CB60 zeroPhaseCascadeFiltH
584 247 0000C790 zeroPhaseFiltH
Summary
6000 .data
1000 .gfids
E000 .pdata
33000 .rdata
1000 .reloc
1000 .rsrc
155000 .text
5000 _RDATA
Now I will copy *-exports to *.def, keep all names and add EXPORTS as first line:
EXPORTS
ANOVA3Way_head
ANOVA3Way_head_2017
AllCosWinH
AllWinH
Anova1Way_head
Anova1Way_head_2017
Anova2Way_head
Anova2Way_head_2017
AperiodTriangleH
ArbitraryWaveCIN
AutoCorrMtrxH
AutoCorrelation
AutoCorrelation80
AxBCxAlignedCIN
AxBCxCIN
AxVectAligned_head
AxVect_head
AxVectorCx
AxVectorCxAligned
BSplineFit_head
BWCoefs
BWCoefs90
BandEqsDriH
BandEqsSetDriH
BartHannWinH
BesselCoefs
BesselCoefs90
BiExpFit_head
BiGaussFit_head
BiLinearFit_head
BiLogFit_head
BiPolyFit_head
BiPowerFit_head
BinomialNoiseH
BohmanWinH
BoundExpFit_head
BoundGaussianFit_head
BoundLinearFitBi_head
BoundLinearFitLAR_head
BoundLinearFit_head
BoundLogFit_head
BoundPowerFit_head
CICDecimatorByMovH
CICInterpolatorByMovH
CartesianShift2D_head
CartesianShift3D_head
ChebyshevCoefs
ChebyshevCoefs90
CheckPosSemiDef_head
CheckPosdef_head
CheckSym_head
ChiSquare_head
ChirpCIN
ChirpZT_head
CholeskyLinEqs_head
Cholesky_InvMatrix_head
Cholesky_head
CompactToMatrix_H
Compact_to_Matrix_head
CondNumber_head
ConfBndExp_head
ConfBndGauss_head
ConfBndLinear_head
ConfBndLog_head
ConfBndPoly_head
ConfBndPower_head
Contingency_head
Convolution
Convolve_2DH
CoordConversion_head
CoordRotation2D_head
CoordRotationDirect_head
CoordRotationEuler2011_head
CoordRotationEuler_head
Correlation_2DH
CosTapered
CosTaperedH
CreateMatrixFromEVs_head
CrossSpectrumH
CrossSpectrumH_IDP
CubicSplineFit_head
CxAllCosWinH
CxAllWinH
CxAutoCorrMtrxH
CxBandEqsDriH
CxBandEqsSetDriH
CxBartHannWinH
CxBohmanWinH
CxCascadedMovingAverageH
CxCheckPosSemiDef_head
CxCheckPosdef_head
CxCheckSym_head
CxChirpZT_head
CxCholeskyLinEqs_head
CxCholesky_InvMatrix_head
CxCholesky_head
CxCompact_to_Matrix_head
CxComplexModulatorH
CxCondNumber_head
CxConvolution
CxConvolve_2DH
CxCorrelation_2DH
CxCosTaperedH
CxCrossSpectrumH
CxCrossSpectrumH_IDP
CxDZTH
CxDZTH_IDP
CxDecimateContinuous_H
CxDecimate_H
CxDecimatedMovingAverageH
CxDeterminant_head
CxDolChebyWinH
CxEigenVBack_head
CxEigenValueVector_head
CxEqsByCholeskyDri_head
CxEqsByLUDri_head
CxEqsSetByCholeskyDri_head
CxEqsSetByLUDri_head
CxEqsSetBySVDDri82_head
CxEqsSetBySVDDri_head
CxExpWinH
CxFFT2D_H
CxFFT2D_H_IDP
CxForceWinH
CxFullCholesky_head
CxGSVD_head
CxGaussWinH
CxGenCosWinH
CxGenEigenEx_head
CxGenLinEqs82_head
CxGenLinEqs_head
CxHessenberg_head
CxIIRReSig_Filter_H
CxIIR_Filter_H
CxInitialMatrixH
CxInvFFT2D_H
CxInvFFT2D_H_IDP
CxInvMatrixChoDri_head
CxInvMatrixLUDri_head
CxInvMatrixTriDri_head
CxKaiserH
CxKroneckerProd_H
CxLUInvMatrix_head
CxLULinEqs_head
CxLU_head
CxLyapunov85_head
CxLyapunov_head
CxMatrixBalance_head
CxMatrixCharacteristicPoly_head
CxMatrixExp_head
CxMatrixLn_head
CxMatrixPower_head
CxMatrixSqrt_head
CxMatrix_to_Compact_head
CxMultPolyRoots_head
CxMultiplyPolyH
CxNIFFTH
CxNIFFTH80
CxNIFFTH80_IDP
CxNorm_head
CxParzenWinH
CxPolyGCD_H
CxPolyRoots_head
CxPseudoInverse_head
CxQRDecH
CxQZ80_head
CxQZ_head
CxRMS_head
CxRank_head
CxRationalResampleMCh_H
CxRationalResample_H
CxResample_Const
CxResample_Variable
CxResample_Variable_MultiCh
CxSVDEx_head
CxSVDS_head
CxSVD_head
CxScaledWinH
CxSchur80_head
CxSchur_head
CxSigFIRnarrowFilter_head
CxSigIIR_Filter
CxSigIIR_Filter2
CxSigIIR_Filter_OneState
CxSigIIR_Filter_PtbyPt
CxSpecialMatrix_head
CxSpectrumH
CxSpectrumH_IDP
CxSylvester81_head
CxSylvester_head
CxSymmWinH
CxTmiQZ_head
CxTrace_head
CxTranspose_head
CxTriEqsSetDri_head
CxTriLinEqs_head
CxTri_InvMatrix_head
CxTriangleWinH
CxUnitVector80_head
CxUnitVector_head
CxVectorNormH
CxVectxAAligned_head
CxVectxA_head
CxWelchWinH
Cxqrd_head
CycleRMSAverage
CycleRMSAverage_IDP
DCT_1DH
DCT_1DH_IDP
DCT_2DH
DCT_2DH_IDP
DST_1DH
DST_1DH_IDP
DST_2DH
DST_2DH_IDP
DecimateCIN
DecimateContinuous_H
DecimatorFIRH
Deconvolution
Derivative
Derivative85
Determinant_head
Direction2Euler2011_head
Direction2Euler_head
DisableAnalysisWorkspaceH
DolChebyWinH
DotProduct_head
DotprodCx
EigenVBack_head
EigenValueVector_head
EllipticCoefs
EllipticCoefs90
EnableAnalysisWorkspaceH
EqsByCholeskyDri_head
EqsByLUDri_head
EqsSetByCholeskyDri_head
EqsSetByLUDri_head
EqsSetBySVDDri82_head
EqsSetBySVDDri_head
Euler2Direction2011_head
Euler2Direction_head
EvPoly2D
ExpFit80_head
ExpFitCoef80_head
ExpFitCoef_head
ExpFit_head
ExpWinH
ExpWindCIN
FDist_head
FHTH
FHTH_IDP
FIRCoefs
FIRNarrowCoef_head
FIRnarrowFilter_head
FastHilbertTransformH
FastHilbertTransformH_IDP
ForceWinH
ForceWindCIN
FreqMod
FullCholesky_head
GSVD_head
GammaNoiseH
Gauss
GaussMonopulseH
GaussPulseH
GaussWinH
GaussianPeakFitCoef_head
GaussianPeakFit_head
GenBisquareFit_Weight_head
GenBisquareFit_head
GenCosWinH
GenEigenEx_head
GenHistH
GenLARFit_head
GenLSFit80_head
GenLSFit_head
GenLinEqs2010_head
GenLinEqs82_head
GenLinEqs_head
GenLinEqsbySVD2011_head
GetNewCoef_head
GoodnessOfFit_head
Hessenberg_head
IIR_Filter
IIR_Filter2
IIR_Filter_OneState
IIR_Filter_PtbyPt
ImpulsePtrn
InitialMatrixH
InitializeAnalysisWorkspaceH
Integral
Integral90
Integral_2017
InterpolatedFIRH
InterpolatorFIRH
InvChebyshevCoefs
InvChebyshevCoefs90
InvChiSquare_head
InvChirpZT_head
InvCxNIFFTH
InvCxNIFFTH80
InvCxNIFFTH80_IDP
InvDCT_1DH
InvDCT_1DH_IDP
InvDCT_2DH
InvDCT_2DH_IDP
InvDST_1DH
InvDST_1DH_IDP
InvDST_2DH
InvDST_2DH_IDP
InvFDist_head
InvFHTH
InvFHTH_IDP
InvFastHilbertTransformH
InvFastHilbertTransformH_IDP
InvMatrixChoDri_head
InvMatrixLUDri_head
InvMatrixTriDri_head
InvNdist_head
InvReNIFFTH
InvReNIFFTH80
InvReNIFFTH80_IDP
InvReNIFFTHCH
InvReNIFFTHCH_IDP
InvTdist_head
KaiserH
Kaiser_Bessel
KroneckerProd_H
LARExpFit_head
LARGaussFit_head
LARLinearFit_head
LARLogFit_head
LARPolyFit_head
LARPowerFit_head
LUInvMatrix_head
LULinEqs_head
LU_head
LV_Airy
LV_BesselIr
LV_BesselJr
LV_BesselJs
LV_BesselKn
LV_BesselYr
LV_BesselYs
LV_Beta
LV_Beta_85
LV_CosI
LV_CoshI
LV_CxAiry
LV_CxBesselHr
LV_CxBesselHs
LV_CxBesselIr
LV_CxBesselJr
LV_CxBesselJs
LV_CxBesselKr
LV_CxBesselYr
LV_CxBesselYs
LV_Dawson
LV_Diln
LV_Elliptic1
LV_Elliptic1_85
LV_Elliptic2
LV_Elliptic2_85
LV_EllipticJ
LV_Erf
LV_ErfC
LV_ExpI
LV_Fact
LV_FresnelIntegrals
LV_Gamma
LV_GammaC
LV_Gamma_85
LV_Gauss
LV_Gauss_2011
LV_KelvinI
LV_KelvinK
LV_Kummer
LV_LnFact
LV_LnGamma
LV_ParabolicCylinder
LV_Psi
LV_SinI
LV_SinhI
LV_Stirling
LV_Struve
LV_Tricomi
LV_Zeta
LinEv
LinFitCoef80_head
LinFitCoef_head
LinFit_head
Line1
LogFitCoef_head
LogFit_head
Lyapunov85_head
Lyapunov_head
MSE_head
MatrixBalance_head
MatrixCharacteristicPoly_head
MatrixExp_head
MatrixLn_head
MatrixMulAligned_head
MatrixMul_head
MatrixPower_head
MatrixSqrtH
MatrixSqrt_head
MatrixToCompact_H
Matrix_to_Compact_head
Mean_head
MeasurementUnreserveProc
MedianFilter81_H
MedianFilterCIN
Median_head
ModeH
Moment_head
MultPolyRoots_head
MultipleToneMeasurements
MultiplyPolyH
Norm1
Norm2
NormDist_head
Norm_head
NumWinConstH
NumerIntegration2D_2017_head
NumerIntegration2D_head
NumerIntegration3D_2017_head
NumerIntegration3D_head
NumerIntegration_2017_head
NumerIntegration_head
OuterProdCx_head
OuterProd_head
Parks
ParzenWinH
PeakD
PeakD2010
PeakD2014
PeakDetector
PeriodNoise
PeriodicSincH
PhasMod
PoissonNoiseH
PolarToRect1D_head
PolyEv
PolyFit80_head
PolyFit81_head
PolyFit_head
PolyGCD_H
PolyInterp_head
PolyRootsNtBst_head
PowerFitCoef_head
PowerFit_head
PreallocInvMatrixChoDri_H
PredBndExp_head
PredBndGauss_head
PredBndLinear_head
PredBndLog_head
PredBndPoly_head
PredBndPower_head
PseudoInverse_head
PulseMeas
PulseMeasEx
PulseMeasEx_IDP
PulseParameters
PulsePtrn
QRDecH
QS1D
QScale
QZ80_head
QZ_head
RMS_head
RampPtrn
RampPtrn80
RampPtrn85
Rank_head
RatInterp_head
RationalResampleMultiCh_H
RationalResample_H
ReCascadedMovingAverageH
ReComplexModulatorH
ReDZTH
ReDZTH_IDP
ReDecimatedMovingAverageH
ReFFT2D_H
ReFFT2D_H_IDP
ReInvFFT2D_H
ReInvFFT2D_H_IDP
ReNIFFTH
ReNIFFTH80
ReNIFFTH80_IDP
ReNIFFTHCH
ReNIFFTHCH_IDP
RectToPolar1D_head
Resample_Const
Resample_Variable
Resample_Variable_MultiCh
RiffleArrayCDB2012_head
RiffleArrayCDB_head
RiffleArrayDBL2012_head
RiffleArrayDBL_head
RiffleArrayInt2012_head
RiffleArrayInt_head
RiffleIntNum2012_head
RiffleIntNum_head
RmvOutlierIndx_head
RmvOutlierRng_head
Rxy
Rxy80
SVDEx_head
SVDS_head
SVD_head
SavitzkyGolayCoefH
SavitzkyGolayFiltH
SawtoothWaveCIN
Scale
Scale1DCIN
ScaledCxGenCosWinH
ScaledGenCosWinH
ScaledWinH
Schur80_head
Schur_head
SetLVRTModule
SetLVRTModuleHook
SetLVRTTLSIndex
SetLVRTTLSIndexHook
SincWave
SinePtrn
SineWaveCIN
SpInterp_head
SpecialMatrix_head
SpectrumH
SpectrumH_IDP
Spline_head
Square
SquareWaveCIN
StateLevels
StateLevels_IDP
Sylvester81_head
Sylvester_head
SymEvectorEvalue_head
SymmWinH
TDist_head
TmiQZ_head
Trace_head
TransMeas
TransMeas_IDP
TransformUnreserveProc
Transpose_head
TriDiagEqsByLU_head
TriDiagEqsSetByLU_head
TriDiagLU_head
TriEqsSetDri_head
TriLinEqs_head
Tri_InvMatrix_head
TriangleWaveCIN
TriangleWin
TriangleWinH
Triggerh
Triggerh_86
UninitializeAnalysisWorkspaceH
WelchWinH
WinConstByNameH
WinConstByNameH_2016
create_nifft_table
destroy_nifft_table
histgran_head
measurements_clear
measurements_create
measurements_destroy
measurements_fetch
ppMultiRateFIRH_CDB
ppMultiRateFIRH_CSG
ppMultiRateFIRH_DBL
ppMultiRateFIRH_SGL
qrd_head
unWrap
unWrap85
unitVector80_head
unitVector_head
vectorNormH
vectxAAligned_head
vectxA_head
white
zeroPhaseCascadeFiltH
zeroPhaseFiltH
And finally
lib /def:"%HOMEPATH%\Desktop\lvanlys.def" /machine:x64 /out:"%HOMEPATH%\Desktop\lvanlys.lib"
Of course, I will not type every name manually. Just use any editor that can select a column, such as VSCode, and then select everything you don't need by holding down the Ctrl, Shift, and Alt keys alltogether.
12-04-2024 04:17 PM
so its essentially the same as in post 4, results of dependency walker?
12-04-2024 11:21 PM
@Steffen01 wrote:
so its essentially the same as in post 4, results of dependency walker?
Yes, it is. Exports are exports. The Dependencies Walker is always in my "hacker's toolbox." By the way, you're using a "legacy" tool, which may have some issues on modern operating systems (for example, it can be very slow). I using a slightly different Dependencies Tool, but the result is generally the same.
Its could be a little bit more complicated to get correct lib in case of decorated/mangled function's names, but impossible is nothing.