Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #125934

Re: Toy code for currency handling

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c
Subject Re: Toy code for currency handling
Date 2018-01-29 20:56 +1300
Message-ID <fd82diFnvamU6@mid.individual.net> (permalink)
References (8 earlier) <sh8t6d53drbs574ji4e0ogom5s3a8ta3jn@4ax.com> <fd7pqfFnvamU3@mid.individual.net> <ujct6d1cs4fako99i4r11557ascnapmg8v@4ax.com> <fd7upfFnvamU5@mid.individual.net> <9gjt6d1v9jbt50itlp8tpert9hkfnqgn98@4ax.com>

Show all headers | View raw


On 01/29/2018 08:38 PM, Robert Wessel wrote:
> On Mon, 29 Jan 2018 19:54:39 +1300, Ian Collins <ian-news@hotmail.com>
> wrote:
> 
>> On 01/29/2018 06:45 PM, Robert Wessel wrote:
>>> On Mon, 29 Jan 2018 18:29:50 +1300, Ian Collins <ian-news@hotmail.com>
>>> wrote:
>>>
>>>> On 01/29/2018 06:23 PM, Robert Wessel wrote:
>>>>>
>>>>> No it's not.  The linker will find MessageBoxA() in the import library
>>>>> user32.lib.  The import library contains the specification of where
>>>>> MessageBoxA() is.
>>>>>
>>>>> Without the __declspec(dllimport) the compiler will just generate call
>>>>> to MessageBoxA:
>>>>>
>>>>>        call MessageBoxA
>>>>>
>>>>> and the linker will create a thunk for that that contains one indirect
>>>>> jump:
>>>>>
>>>>>      MessageBoxA: jmp drowd ptr __imp_MessageBoxA
>>>>>
>>>>> (Note: I've ignored some decorations on the above for simplicity.)
>>>>
>>>> Why does windows make this stuff so hard?  No wonder poor old bartc gets
>>>> confused.
>>>
>>>
>>> It really doesn't. The item in the import library really just says
>>> that abcdef resolves to somedllname:somefunctionname.  The linker
>>> processes that in the obvious way.  If you create a DLL, the linker
>>> will automatically build an import library that other executables can
>>> link to access your DLL.
>>>
>>> The bits about patch tables and thunks that get used under the hood to
>>> make run-time linking hang together is actually pretty similar in *nix
>>> and Windows.
>>>
>>> A major difference between *nix and Windows is how much gets exported
>>> by default, and that *nix puts most of what gets exported into a flat
>>> namespace.  I personally don't find the *nix choices to be superior,
>>> but people so rarely ask me how I feel about these things.  And rather
>>> obviously, both approaches work just fine (but they are *different*).
>>
>> The biggest problem I have with the Windows way is it makes interposing
>> functions nigh on impossible.  In UNIX land if you want to interpose a
>> library function, you just define a function with the correct signature
>> in your executable and it will be used in preference to the function in
>> the library.
> 
> Other than with a library function tagged __declspec(dllimport), that
> generally works.  If the symbol is already present, the linker won't
> search the libraries for a resolution.  It more or less works with
> __declspec(dllimport), but you'll get a warning from the compiler that
> the actual definition of the function has a different signature (than
> the declaration).  Still, it could be better, and I'm not sure I know
> that the correct behavior is actually guaranteed.

It was those warnings that scared me off!

-- 
Ian.

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: Toy code for currency handling David Thompson <dave.thompson2@verizon.net> - 2018-01-21 11:53 -0500
  Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-21 11:44 -0800
    Re: Toy code for currency handling Keith Thompson <kst-u@mib.org> - 2018-01-21 12:24 -0800
      Re: Toy code for currency handling herrmannsfeldt@gmail.com - 2018-01-23 21:03 -0800
        Re: Toy code for currency handling Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-01-24 15:02 +0000
          Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-24 08:45 -0800
            Re: Toy code for currency handling Keith Thompson <kst-u@mib.org> - 2018-01-24 11:40 -0800
              Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-24 14:52 -0600
              Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-24 13:05 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-24 13:12 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-25 01:04 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-24 19:17 -0600
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-24 17:33 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-25 12:14 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 04:31 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-25 13:03 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 05:28 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 05:37 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 05:43 -0800
                Re: Toy code for currency handling mark.bluemel@gmail.com - 2018-01-25 05:57 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-25 15:48 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 08:32 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 10:56 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-25 21:28 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 15:10 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 06:14 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 06:38 -0800
                Re: Toy code for currency handling gordonb.ma9h0@burditt.org (Gordon Burditt) - 2018-01-24 21:53 -0600
                Re: Toy code for currency handling scott@slp53.sl.home (Scott Lurndal) - 2018-01-25 18:05 +0000
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-25 18:16 +0000
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-26 07:30 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-25 22:08 +0000
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-26 20:00 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-26 11:31 +0000
                Re: Toy code for currency handling scott@slp53.sl.home (Scott Lurndal) - 2018-01-26 15:51 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-26 10:32 -0600
                Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-26 08:50 -0800
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-26 13:11 -0600
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-26 18:32 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-26 13:07 -0600
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-27 09:43 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-26 21:44 +0000
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-27 11:02 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-27 00:46 +0000
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-28 09:19 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-27 21:19 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-27 14:14 -0800
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-28 11:21 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-27 22:32 +0000
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-28 12:16 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-28 00:44 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 04:13 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-28 13:56 +0000
                Re: Toy code for currency handling Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-01-28 06:12 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 06:43 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-28 15:40 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 07:56 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-28 16:12 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 08:34 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-28 16:53 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 09:30 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 09:48 -0800
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-28 23:23 -0600
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-29 18:29 +1300
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-28 23:45 -0600
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-29 19:54 +1300
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-29 01:38 -0600
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-29 20:56 +1300
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-29 20:34 -0600
                Re: Toy code for currency handling "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-01-29 21:46 -0800
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-28 23:34 -0600
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-29 12:02 +0000
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-29 12:33 +0000
                Re: Toy code for currency handling Richard Damon <Richard@Damon-Family.org> - 2018-01-29 08:30 -0500
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-29 14:08 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-29 19:36 -0600
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-30 11:49 +0000
                Re: Toy code for currency handling already5chosen@yahoo.com - 2018-01-30 04:45 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-30 13:04 +0000
                Re: Toy code for currency handling already5chosen@yahoo.com - 2018-01-30 05:17 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-30 14:23 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-30 11:39 -0600
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-30 18:23 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-30 18:25 -0600
                Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-31 07:56 -0800
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-31 12:56 -0600
                Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-31 13:09 -0800
                Re: Toy code for currency handling scott@slp53.sl.home (Scott Lurndal) - 2018-01-31 21:35 +0000
                Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-31 16:45 -0800
                Re: Toy code for currency handling David Brown <david.brown@hesbynett.no> - 2018-02-01 08:59 +0100
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-02-01 02:40 -0600
                Re: Toy code for currency handling David Brown <david.brown@hesbynett.no> - 2018-02-01 10:13 +0100
                Re: Toy code for currency handling scott@slp53.sl.home (Scott Lurndal) - 2018-02-01 14:49 +0000
                Re: Toy code for currency handling David Brown <david.brown@hesbynett.no> - 2018-02-01 16:13 +0100
                Re: Toy code for currency handling supercat@casperkitty.com - 2018-02-01 09:05 -0800
                Re: Toy code for currency handling David Brown <david.brown@hesbynett.no> - 2018-02-01 22:07 +0100
                Re: Toy code for currency handling supercat@casperkitty.com - 2018-02-01 15:49 -0800
                Re: Toy code for currency handling David Brown <david.brown@hesbynett.no> - 2018-02-02 13:13 +0100
                Re: Toy code for currency handling already5chosen@yahoo.com - 2018-01-30 05:30 -0800
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-30 10:48 -0600
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-29 12:59 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-29 20:26 -0600
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-29 20:36 -0600
                Re: Toy code for currency handling mark.bluemel@gmail.com - 2018-01-30 00:34 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-30 11:33 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-30 11:49 -0600
                Re: Toy code for currency handling jameskuyper@verizon.net - 2018-01-30 12:03 -0800
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-30 17:40 -0600
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-30 12:56 +0000
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-30 11:28 -0600
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-31 19:19 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 04:16 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-28 13:40 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 06:35 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 07:24 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-28 15:24 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-28 07:44 -0800
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-29 18:34 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-29 12:21 +0000
                Re: Toy code for currency handling Ian Collins <ian-news@hotmail.com> - 2018-01-30 07:59 +1300
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-29 19:56 +0000
                Re: Toy code for currency handling scott@slp53.sl.home (Scott Lurndal) - 2018-01-29 20:53 +0000
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-29 21:52 +0000
                Re: Toy code for currency handling Richard Damon <Richard@Damon-Family.org> - 2018-01-27 18:32 -0500
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-27 13:22 -0600
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-26 13:23 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-26 13:41 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-26 14:12 -0800
                Re: Toy code for currency handling bartc <bc@freeuk.com> - 2018-01-26 22:23 +0000
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-26 14:44 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-26 15:28 -0800
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-26 16:22 -0800
                Re: Toy code for currency handling David Brown <david.brown@hesbynett.no> - 2018-01-25 09:11 +0100
                Re: Toy code for currency handling fir <profesor.fir@gmail.com> - 2018-01-25 02:27 -0800
                Re: Toy code for currency handling Robert Wessel <robertwessel2@yahoo.com> - 2018-01-24 15:23 -0600
                Re: Toy code for currency handling Keith Thompson <kst-u@mib.org> - 2018-01-24 14:29 -0800
                Re: Toy code for currency handling supercat@casperkitty.com - 2018-01-24 14:49 -0800

csiph-web