Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9029003
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T07:08:37+00:00 2026-06-16T07:08:37+00:00

In linux/unix world symlink *.so files are widely used. I.e. it is common to

  • 0

In linux/unix world symlink *.so files are widely used. I.e. it is common to see libfoo.so and libfoo.so.X files that are just symlinks to libfoo.so.X.Y.Z (which is regular file). I never so such stuff on Windows (although Windows does support symlinks).

Never-the-less, when I recently downloaded PHP binary distribution for Windows, I saw very similar picture:

  • icudt.dll (size is only 36 bytes)
  • icudt46.dll (normal size)
  • icudt49.dll (normal size)
  • icuuc.dll (size is only 36 bytes)
  • icuuc46.dll (normal size)
  • icuuc49.dll (normal size)
  • and so on.

Unversioned *.dll files are obviously regular files (not NTFS symlinks or junction points). However, they have very small size (from 36 to 40 bytes) and very specific content. E.g. the content of icudt.dll is:

!<symlink>яюi_c_u_d_t_4_9_._d_l_l___

(“_” here means “\x0”, “яю” here is “\xFF\xFE”).

How these symlink-like DLLs are supposed to work?

  • Can windows work with them as with usual DLLs?
  • Or maybe some special functions in WinAPI for such DLLs?
  • Or such DLLs are recognized only by PHP?
    • Maybe PHP source is written in the way that it explicitly reads and analyses every DLL to resolve such pseudo-symlinks?

Note: PHP is said to by built by VC9, thus it is probably not a cygwin/mingw-related stuff (as someone may think first).
Note 2: No such small-sized DLLs were found in C:\Windows dir.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T07:08:39+00:00Added an answer on June 16, 2026 at 7:08 am

    Windows won’t recognize these files as DLLs or any kind of links to DLL. As Hans Passant correctly suggested it’s Cygwin-specific files and only Cygwin-based builds would recognize them as symlinks by Cygwin framework, not by Windows OS.

    If you try to use them in any of the standard Win32 APIs you’ll get bunch of loading errors claiming the executable’s format is invalid. The mere fact PHP was compiled by VC9 also doesn’t mean VC9 created the files in question as they most likely were prepared by means of some Cygwin tool.

    P.S. The smallest possible executable file size for Windows is 97 bytes as described here.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I would like to create a program in a linux/unix environment that runs from
I have a bash script (supports linux/unix), that installs an application. Instead of executing
I have a c++ source code that was written in linux/unix environment by some
On Linux/Unix machine how do I find files modified between a certain number of
Is there such a function in PHP that does grep -f filename in unix/linux
How to setup a Linux/Unix machine for python development? Which Linux/Unix version should I
I'm looking for a Linux/UNIX command that will determine the distinct characters in a
I want to write a unix/linux program, that will use a configuration file. My
Where Linux/Unix environment variables are kept? How can I add my own environment variable
Is there a standard linux/unix pattern for communicating with long running process? For example,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.