�g�b�v�y�[�W�������u�Ղ낮��݂񂮁v�ڎ�

�v���O���}�[�łȂ��l�̂��߂́u���L���C�u�����v�u��

���ō쐬�F2003/01/11
2015�N���_�ł̎Q�l�����NjL�F2015/06/29

�ڎ�

  1. �O����
  2. �{��
  3. �㏑�������͊��z
  4. 2015�N���_�ł̎Q�l�E���E����

�O����


2015�N���_�ł́A��萳�m�ŕ�����₷���Q�l���Ђ̏Љ��NjL���܂����̂ŁA����������Ђ��m�F���������B

�@Linux��UNIX�������Ă�����u���L���C�u����(shared library)�v�u���C�u����(library)�v�Ƃ������t�����΂��Ύ��� ���܂��B���ɁA�ŐV�ł��g�����ƃ\�[�X�R�[�h���猩�悤���܂˂Ńr���h�A�R���p�C���Ƃ��������邨����s���Ă͌������̂� �����Ɏ��s�����Ƃ���A�����͏�肭�����Ȃ��Ƃ��̃��O�t�@�C�����Ō���邱�Ƃ�����܂��B

�@�v���O���}�[�ł���΁A�Ⴆ���߂�Linux�ɐG�����Ƃ��Ă����ƂȂ��ꊴ�������ڂ���ƌ������z���ł��܂��B
�@�������������ʂ� ---�‚܂�v���O���~���O�Ȃǂɋ����֐S����������--- �l�����ɂƂ��āA�u���������A����ˁ[��B�v �Ȑ��E�ł��i�ȑO�A�p�\�R���ɑS�������̂Ȃ��g���Ƀv���O���~���O�֘A�̋�s�𐂂ꂽ�Ƃ���u���{��Řb���Ă���v�ƌ��� �ꂽ���Ƃ�����܂��j�B

�@����̓��ʍu���ł́AWindows����ڂ��Ă����΂�����́A��v���O���}�[���������́u���C�u �����v�������������҂Ȃ̂��B
�@�����āu/lib�v�A�u/usr/lib�v���̑�ʂ̃V���{���b�N�����N�Ɓulib****.so.***�v�͂����������� ��K���ɘb���Ă��������Ǝv���܂��B

�@����̘b�����ǂ݂��������A�����ł�Linux/UNIX�V�X�e���ɑ΂���s���������������Ђ�����[�ɂ��ꂵ�����ȁA�ƁB
�@���Ȃ݂Ɂu���ł��܂�����΂��邽�߂ɂ킴�킴�M�d�Ȏ��Ԃ������Ă܂ł���ȏ��S�҂̏����������ǂ܂Ȃ�����̂��v�Ƃ����� �‚����݂̓C�^�����ł��̂Ŗ��������Ă��������܂��B

�@�Ԃ����Ⴏ���b�A�u�v���O���}�[�ł��鎩�����g����w�����˂Ă܂Ƃ߂��������g�p���|�[�g�v�Ȃ̂͂��‚��̂��Ƃł� ����E�E�E�B

�Q�l����
�EJF�h�L�������g�uProgram Library HOWTO�v
�E���̑��e��R�}���h��man�y�[�W

�ڎ��ɖ߂�

�{��

  1. �܂��� Windows �ɖ߂�܂��傤�B
  2. DLL�ɂ‚��āB
  3. �Ⴆ�b�����X�ɁB
  4. Linux/UNIX �ցB
  5. Linux/UNIX ���L�̂��񑩁B

�܂��� Windows �ɖ߂�܂��傤�B
�u�{��v�ɖ߂�

�@������ Linux/UNIX ���[�U�[�͂��̕��͓͂ǂ�ł��Ȃ��A�Ɖ��肵�đ�_�ɂ���U�b�� Windows �Ɉ����߂��܂��B
�@�Ƃ����̂́A�ŋ߂ɂȂ���Linux/UNIX��������n�߂��l�����͑唼�� Windows ���g���Ă���l�����ł��낤����ł��B

�@��ŁBWindows �ł�����ς�u���L���C�u�����v��u���C�u�����v�Ƃ��������t���p������킯�ł��B���A���̂�Linux/UNIX ���ɂ͋��|��������܂���B
�@�܂��͂�����������Ă����܂��傤���B

�@�P�������ɐ؂�o���܂��B�u���L���C�u�����v��u���C�u�����v�ƌ����Ă���V�����m�̎��̂͒P�Ȃ�t�@�C���ł��B
�@�ŁAWindows �ł́u****.dll�v�ALinux/UNIX �ł́ulib****.so.****�v�Ƃ����t�@�C�����i*�̕����̓��C�u�����̖��O ����������܂��B�‚܂艽�ł��ǂ��j���u���L���C�u�����v��u���C�u�����v�Ƃ����Ă���V�����m�̖{�̂ł��B

�@�ق�AWindows �Ō����Ƃ���̈�������VB�����^�C�����C�u�����������܂��ɂ���ł���B
�@������ Windows �ɏڂ����Ȃ�ΒN�������ɂ����uDLL�v�Ƃ����̂��AWindows �ł́u���L���C�u�����v�ł��i��q���܂� ��DLL�t�@�C���́u���C�u�����v�Ƃ͂�����ƈႤ�ꍇ������܂��j�B

�@Windows ���n�߂������v���o���ĉ������B��������u****.dll�v���폜���Ă��܂����΂�����ɏd�v�ȃA�v���P�[�V�������N�� ���Ȃ��Ȃ����肵�����ƁA����܂��񂩁H����Ɠ��l�̎��� Linux/UNIX �ł��N���肤��̂ł��B
�@�����Ƃ�Linux/UNIX�V�X�e���̏ꍇ�A�V�X�e�������Ɋւ�郉�C�u������ root �������Ȃ��Ə����ł��Ȃ��p�[�~�b�V������ �^�����Ă��܂��̂ł�������Ƃ́i�T�[�o�[�}�V���Ȃǂł́j��L�̂悤�Ȍ��ۂ͋N����Ȃ��ł��傤���E�E�E�B
�@Linux/UNIX �ł͂ނ���A�u���C�u�����̃o�[�W�������Ⴄ���߂ɓ��삵�Ȃ��v���ۂ̕������|�I�ɑ����Ǝv���܂��B

�@���������΁AVB�����^�C�����C�u�����ɂ��uVB5�v�Ƃ��uVB6�v�݂����o�[�W����������܂��� �˂��B�t���[�\�t�g�Ȃǂ𗘗p����Ƃ���VB�����^�C�����C�u�����̃o�[�W����������ē����Ȃ������A�݂����Ȃ��ƁB�o�� ���܂���ł����H

�@�b���܂Ƃ܂�܂��񂪁A�u���A���L���C�u�����Ƃ����� Windows �Ō����Ƃ���� DLL ���I�v�� ���̏�ɂ낤�����������Ē�����Ώ\�����ȁA�ƁB

DLL�ɂ‚��āB
�u�{��v�ɖ߂�

�@�������Ƃ�Ƃ߂Ȃ��b�ɂȂ��Ă��܂����A�u����Linux/UNIX�ł͋��L���C�u�����ɑ΂��鋰�|�����o����̂��v���I����Ă��܂���B

�@����͐l�ɂ�肯��ł��̂ŁA�ǂ����i���l���j�ėp�I�i���Ǝv���Ă���j�ȗ��R�������Ă��債�������ɂ͂Ȃ�܂���B
�@�����ł������g���Ȃ����|�����o�����̂���点�Ă��������܂��B

�@�����u���L���C�u�����v�ɏo������̂�����ς�Windows�ŁADLL�t�@�C�����폜���Ă��܂��������ł����B
�@�G���[���b�Z�[�W���\�����ꂽ��ł���ˁB�u****.dll�����‚���܂���v�݂����ȁB
�@��ŁA�i�K���ɂ��j�S�~���ɓ���Ă� ****.dll �����ɖ߂����瓮���悤�ɂȂ�܂����B

�@�����g�̓v���O���~���O��׋����ł����B����C������w��ł��������������Ă��A�uDLL�v�̈Ӗ�����Ƃ��낪�O�C�Ȃ���i���R ������܂߂āj�����I�Ɏ@�����‚��Ă��܂����B���ƂȂ��A�����̃A�v���P�[�V��������g�p�����@�\�̌ł܂��ł͂Ȃ��� �ȁA�ƁB�܂��A�p�\�R���G�����E���ǂ݂��Ă�������������܂������B

�@���������킯�ŁAWindows�ł͑�K�͂ȃA�v���P�[�V�����ɂ�DLL���g���Ă���񂾂ȁA�Ƃ������ƁB�����āA�uDLL�t�@�C���� ��T�AC:\WINDOWS�f�B���N�g���̒����A�•ʂ̃A�v���P�[�V�����̃t�H���_�̒��ɂ���񂾂ȁB�v�Ƃ������Ƃ��t���[�\�t�g�� �C���X�g�[����Ƃ���w�т܂����B
�@�������Ƃ��� DLL ���݂̖�肪���܂�N����Ȃ������Ƃ������Ƃ�����̂�������܂���B

�@�ŁALinux/UNIX�ł��B
�@����ς�ŏ��A�u���C�u�������ĉ������؁v��Ԃł����B
�@C����̒m������A�u����ς�R���p�C�����Ɏg�����̂��낤���v�Ƃ��A�u����Ƃ� Windows ��DLL�݂����Ȃ��̂���납�v�Ƃ��B

�@���� Windows �ɂ����āi���Ƀv���O���~���O�ɉ����āj�u���C�u�����v�Ɓu���L���C�u�����v�͑����Ӗ����Ⴄ�V�����m �Ȃ̂ł��i�ڍׂ͌�q�j�B
�@���ꂪ�ALinux/UNIX�ł͂����Ԃ�Ƃ����፬���Ɏg���Ă��܂��B���̎��_�ł��łɎ኱�̍����������N�����Ă��܂����B

�@�ɂ߂‚��� /lib �f�B���N�g�����ɂ����ʂ́ulib****.so.****�v�t�@�C���Ƃ���ւ̃����N�B
�@��������Ɏ����܂��Bls -l ����K���Ɉ��������Ă��������ł��B

lrwxrwxrwx    1 root     root           11  9�� 10�� 07:25 libpam.so -> libpam.so.0*
lrwxrwxrwx    1 root     root           14  9�� 10�� 07:25 libpam.so.0 -> libpam.so.0.75*
-rwxr-xr-x    1 root     root        38656  4�� 28��  2002 libpam.so.0.75*

�@�ǂꂪ�ǂ������N���Ă�̂������ς蕪�����I�I�Ƃ������A�Ȃ�ł킴�킴����ȂɃ����N����K�v�� ����킯�I�H
�@�����N��Windows�Ō����Ƃ���̃V���[�g�J�b�g�ɂ�����܂��B
�@�ł����E�E�E�Ȃ�ł���ȂɃ����N�𒣂��Ă�̂��A�S����ł����B���܂ŁB

�@�������ł��ˁB/lib, /usr/lib, /usr/local/lib �ƕ��U���Ă��܂��Ă���E�E�E�B
�@Windows �Ƌ��L���C�u�����̔z�u�ɑ΂���N�w���܂�ňقȂ��Ă��܂��B

�@Windows �ł�DLL�͑�� C:\WINDOWS(NT/2000�ł� C:\WINNT)���A�A�v���P�[�V�����ŗL�̃f�B���N�g���ɂ܂Ƃ߂��܂��B
�@�Ƃ��낪 Linux/UNIX �ł��A�v���ŗL���낤�Ɖ����낤�ƌ����Ȃ��� /lib, /usr/lib �f�B���N�g���ɂ‚����܂�Ă� �̂ŁA���U���Ă��܂��ĕ�����Â炩������ł��B

�@�����A������Â炩�����킯�ł͂���܂���B�I������ /lib, /usr/lib, /usr/local/lib �̎O�‚��������킯�ł�����B
�@�ǂ��炩�Ƃ�����

�������������������B

�@�Ƃ����킯�ł��B�S�Ă��u���ƂȂ��z���͂‚��񂾂��ǁE�E�E�ł����ł����Ȃ��Ă�́H�v�Ƃ����^��Ŗ��ߐs������Ă��� �킯�ł��B
�@����Ȃ킯�ŁAJF�̃h�L�������g�ɏo����������܂ł����Ƃ�����₵���s���Ƃ������C���������� Linux/UNIX �̋��L���C�u���� �ɂ͂������킯�ł��B

�‚܂� Linux/UNIX �̓N�w�Ɋ���Ă��Ȃ������B

�@���ꂽ�҂����ł��A���̐��E�B��U�����΁i���]�Ԃ����߂Ĉ�l�ŏ���悤�ɂȂ����q���̂悤�Ɂj���p��V���������ւ� �`�������W�ւ̓����J���܂����A���Ȃ��Ƃ��ڂ̑O���ɂ̈�‚��炢�͐�����΂���͂��ł��B

�@�Ƃ����킯�ŁA���낻��u���[���[��A���C�u�������ĂȂ�Ȃ񂾂�I�I�I�v�Ɗ��������Ȃ��� �������ł��傤���B�ł́B�Ⴆ�b��p���ă��C�u�����̖{������点�Ă��������܂��B

�Ⴆ�b�����X�ɁB
�u�{��v�ɖ߂�

�@���͍���ϋ��삵�Ă��܂��B�Ƃ����̂́A�����g���܂ł���ӂ₾�����u���C�u�����v�u���L���C�u�����v�𑊓����퐶���� �Ⴆ���`�ʼn���ł���@��ɏo�������ł��B�����̃��[�U�[���S�̋��ŕ����ċ���ł��낤�A���̓�ɂ‚��ĂȂ����܂� ����قǂ킩��₷���Ⴆ���p�����Ȃ������̂��s�v�c�Ɏv���i�ȉ��߂�ǂ��̂ō폜�j

�@���C�u���������O�ɁA�܂����������݂Ȃ��񂪓���g���Ă���u�A�v���P�[�V�����\�t�g�v�Ƃ͉��Ȃ̂��̐�������n�߂܂��傤�B

�@�A�v���P�[�V�����\�t�g�A�T�[�o�[�A�f�[�����E�E�E�B�F�X�Ăі��͂���܂����A��ʂɃ\�t�g�E�F�A�{�̂Ƃ���Ă���t�@�C���� Windows�ɂ��ALinux/UNIX �ɂ����݂��܂��B
�@��[�����Windows�ł̓A�C�R�����_�u���N���b�N����ƃA�v���P�[�V�������N������t�@�C���Ŋg���q���uEXE�v�̂�B
�@Linux/UNIX�̏ꍇ�̓V�F�����璼�ڑł����ނ��Ƃɂ�艽�炩�̃\�t�g���N������t�@�C���ł��B

�@�������u���s�`���̃t�@�C���v�Ƃ��Ă΂�Ă��܂��B
�@�Ԃ����Ⴏ���b�A�p�\�R����CPU�������ł��錾��ŏ����ꂽ�����菇���ł��B
�@���̃A�v���P�[�V�����������ǂ����邩�B������L�q�����菇�������s�`���t�@�C���ł��B
�@CPU�‚܂蒆���������u�͑S�Ă𐔒l�ŏ������܂��B����𒼐ڐl�Ԃ��������Ƃ���ɂ͂ƂÂ��Ȃ��m���ƋZ�ʂ��K�v�ɂȂ�܂� �i�܂�ɂ��������Ă̂��Ă��܂��l������܂��BOS�̊J���ҒB�ł��j�B

�@�Ƃɂ����ACPU�ɂ��������錾��Łu�ŏ��ɂ��[����A���ǁ[����A�������[�U�[�����̃{�^���N���b�N�����炱�[����E�E�E�v �Ƃ����������菇�������A�Ȃ����t�@�C�����u���s�`���̃t�@�C���v�ƌĂ΂����̂ł��B

�@����͗����Ō����Έ��̃��V�r�A�E�l����Ȃ���̐݌v�}�ɂ�����܂��B

�@�ŁA�������炪�b�̖{��ł��B
�@�����Ƃ��킩��₷�����V�s�i�܂��͐݌v�}�j����‚̃��V�s�i�܂��͐݌v�}�j�ɁA�K�v�ȏ����菇�����ꏑ����Ă��� ��Ԃł��傤�B���̃��V�s��������΁A��̎g��������W���K�C���̔�̌������A���܂��ɐH��̌ォ���Â����@�܂őS�čڂ��Ă��� �킯�ł��B
�@�Ƃ��낪�A�S�Ẵ��V�s�ɑ΂��Ă������������܂ŋL�q����̂́i�������̃��V�s�����ŏo���Ă���Ȃ�j���̖��ʌ����ł����A ����������Ă���ƟT�������Ȃ�܂��B
�@�����ŁA��̈������L���x�c�̐�؂���@�ȂǁA�w�ǂ̃��V�s�ł��悻���ʂ��Ă��镔���𔲂��o���܂��B

�@���̔�����������ʕ����̃��V�s�������A���C�u�����ɂ�����܂��B

�@�������E�E�E���Ƃ̃��V�s�ɁA�u�����͑��̃��V�s�ł����ʂɎg���Ă镔��������؂蔲������B�v�Ƃ����󂪖��������� �ǂ��Ȃ�ł��傤���B���Ƃ��΁u�O�����낵�v�Ɋւ��镔�����؂蔲����Ă����ԂŁA�u�����ŎO�����낵�ɂ��܂��B�v �ȂǂƂ����L�q�����V�s�ɏo�Ă�����ǂ��Ȃ�ł��傤�B

�@�l�ԂȂ�u�ǂ����ɏ�����ĂȂ��������ȁv�Ƒ��̃��V�s���߂���܂����ACPU�͂��������������ʼn����l����\�͕͂��喳���[�� �ł��i���ɂ���悤�Ɍ����Ă��A����̓��V�s�ɂ����U�镑���悤�Ɏw����������Ă�������ł��j�B
�@�Ƃ����킯�ŁA�����؂蔲���ꂽ���ʕ����i���C�u�����j�����‚���Ȃ���CPU�́u����Ȃ��ƒm��܂����B�v�ƃG���[�� �������Ă���܂��B
�@����̗�Ȃ�u�O�����낵�H�ǂ����́A����B�v�Ǝ����Œ��ׂ������ɕ����Ă���A���܂‚��������̏ꍇ�A���̂܂܂��C�� �������ă��V�s�̗�������낤�Ƃ���̂��~�߂Ă��܂��܂��B

�@���̂悤�ȂƂ��A�������u�O�����낵���Ă̂͂�������񂾂�B�v�Ƌ�������@�͂����ƂR�ʂ肠��܂��B

�P�D�l�ԑ��ŗ\�߁A���V�s�Ɂu�O�����낵�v�̕������ЂƂ��œ\��t���Ĕ�����Ȃ��悤�Ɉ�̉����Ă��� CPU�Ƀ��V�s��n���B

�Q�D���V�s�ɁA�u�O�����낵�ɂ‚��Ēm�肽����΂ǂ������̖{�I�̂��������t�@�C���ɍڂ��Ă���v�ƁA�{�̂� ���V�s���`���������t�������Ă���CPU�ɓn���B

�R�D�u�O�����낵�v�̋L�q������鎞�_�ł悤�₭�u�����̖{�I�̂��������t�@�C���ɍڂ��Ă���v �Ƃ����L�q��t�������Ă���CPU�ɓn���B


�@���ɂQ�D�ƂR�D�̈Ⴂ�ɂ‚��Ē��ӂ��ĉ������B�Q�D�ł͗\�ߋ��ʕ����̃��V�s�̑��݉ӏ����`���ŁA�܂Ƃ߂������t���� �����܂��B�R�D�ł́A���ʕ������g���i�ɂȂ��ď��߂����̋��ʕ����̑��݉ӏ��������Ă��܂��B

�@���ۂɂ͂���ȕ��ȃ��V�s��n�����ƂɂȂ�܂��B
�P�D�Q�D�R�D
�ޗ��F�T���}��C
�菇�P�F�������܂��B
�E�E�E
�菇�Q�F�T���}���O�����낵�ɂ��܂��B
�����̂��A���K���̕�����...
...
...
�菇�R�F...
�E��̈�����ɂ‚��Ă͂����������O�̃t�@�C���ɏ����t���Ƃ��܂����B
�E�O�����낵�̕��@�ɂ‚��Ă͂���Ȗ��O�̃t�@�C���ɏ����t���Ƃ��܂����B
�ޗ��F�T���}��C
�菇�P�F�������܂��B
�菇�Q�F�T���}���O�����낵�ɂ��܂��B
�菇�R�F...
�ޗ��F�T���}��C
�菇�P�F�������܂��B �E��̈�����ɂ‚��Ă͂��̖��O�̃t�@�C�����ɁB
�E�܂��A����ʕ�����������ꍇ��������̖��O�̃t�@�C���ɏ����t���Ă���܂��B
�菇�Q�F�T���}���O�����낵�ɂ��܂��B
�E�O�����낵�̕��@�ɂ‚��Ă͂���Ȗ��O�̃t�@�C�����Q�ƁB
�菇�R�F...


�@�܂��A����Ȋ����ł��B���ɂR�D�ŁA���̂Ƃ��̏����ɂ���ĎQ�Ɛ��ς��Ă������ɒ��ڂ��ĉ������B

Linux/UNIX �ցB
�u�{��v�ɖ߂�

2015�N���_�ł́A��萳�m�ŕ�����₷���Q�l���Ђ̏Љ��NjL���܂����̂ŁA����������Ђ��m�F���������B

�@�܂��A�P�D�̃��V�s�ɂ‚��čl���Ă݂܂��傤�B
�@��Ԃ��ꂪ�u�蔲���v�ȃ��V�s�ł�����܂��B�P�ɋ��ʕ������؂���Ɠ\��t���������ł�����B
�@�����A���������̃��V�s�ɂ��������������Ƃ�����Ƃǂ��Ȃ�ł��傤�B���V�s�����x�ɋ��ʕ��������������\��t���Ă��� ��ł�����A��“�‚̃��V�s����CPU�ɓn���Ȃ��̂ł���΂����ł��Ȃ��ł��傤���A���S�̃��V�s��CPU�ɓn�����ɂȂ�ƁA �d�������̖��ʂ͖����ł��Ȃ��Ȃ��Ă��܂��B
�@���ɂ����̎O�����낵�̕��@�͎����̉Ƃł͏o��������ł����Ă��i��̎�ނ�E�l�̘r�O�Ȃǁj�A�ʂ̉ƂɎ����Ă����Ă� �o����Ƃ͌���܂���B

�@�����łQ�D�̏o�Ԃł��B���ʕ����������t�����t�@�C������\�ߖ`���Ń��X�g���Ă����܂��BCPU�͎O�����낵�Əo�Ă����� �`���̃��X�g���Q�Ƃ��A�ǂ̃t�@�C���ɏ�����Ă��邩�i�悤�₭�����Łj���ׂɍs���܂��i���͂���ƂāA�Ƃ��鋤�ʕ����� �������Ȃ����Ə�����Ă��邩��j�B
�@��������΂P�D�ŋN���蓾���d�������̖��ʂ͌������܂��B�܂��A���ʕ����������t�����t�@�C�����͈�ʂɂǂ̉Ƃł��ꏏ �i���̗����W�ɂ͂��̂܂܂̖��O�Ŗڎ��ɍڂ��Ă���j�ł��B�����āA�Ɩ��ɋ��ʕ����̓J�X�^�}�C�Y���Ă���i�͂��j�̂� �Q�D�̃��V�s���Ⴄ�Ƃ�CPU�ɗ���ł��ACPU�͂��̉Ƃɉ��������ʕ������Ƃ��Ă��Ă����̂ŃG���[�ɂȂ�܂���B
�@�f�����b�g�Ƃ��ẮA���ʕ����Ɉˑ����郌�V�s�������Ȃ��Ă��܂��t�ɋ��ʕ������Ǘ����镉�S�������Ă��邱�Ƃł��B
�@�܂����V�s�̋��ʕ����Ɉˑ����闦�������Ȃ�̂ŁA������Ƃ����Ƃ̈Ⴂ�ł��u���̋��ʕ����������v�Ƃ��������ۂ����� ���₷���Ȃ�܂��B
�@����ł��A�Ƃ��Ǘ����Ă���l�������悭�g���鋤�ʕ��������ꂼ�ꂵ������Ǘ����Ă���΁A��قǃJ�X�^�}�C�Y���ꂽ ���V�s��n���Ȃ�����A���͖��Ȃ��������Ă���܂��B

�@�R�D�́A���̏ꂻ�̏�̏����ɂ���āA���ʕ����̎Q�Ɛ��ύX�ł��郁���b�g������܂��B
�@���Ƃ��΁A��̈������‚Ƃ��Ă��a��A�i�C�t�A�ʕ���A���ؕ�E�E�E�Ƃ���킯�ł��B
�@���̂Ƃ����̂Ƃ��̏����ɂ���āA�u�����͘a��v�u����̓i�C�t�v�Ə_��ɐ؂�ւ����܂��B�‚܂�A���ւ̃A�v���[�` ���@�����A���^�C���ŕ������݂���Ƃ��ɈЗ͂𔭊����܂��B���ꂱ�����u���E�U�Ȃǂł����b�ɂȂ��v���O�C�� �̐��̂ł��B
�@����̗�ł͂�����ƕ�����Â炢��������܂���B�Ƃ����̂��A��̎�ނ͉Ƃ̈Ⴂ�ƍl���Ă��܂��Εʒi�A�Q�D�̕��� ���Ƃ��Ă����Ȃ�����ł��B
�@�񌻎��I�ł����A�}�O�����ޗ��ɓn����Ă����Ƃ��܂��傤�B�����Ȃ��Ă���ƂQ�D�ł͑Ώ�������Ȃ�܂��B

�@�{�}�O�����J���͕̂����̋Z�ʂł͏o���܂���B�Ƃɂ����A����炵�ĕ��ʂ̂��̂ł͖����ł��B
�@�������A�ƂƉƂ̊ԂŌ݊������ێ����邽�߂ɂ́A�u��������v����Ƃ����ďI���ɂ���̂͂悭����܂���B
�@�ނ��낱�̏ꍇ�A�u��͂ǂ��ł��ǂ��B�ނ���A���̏�ɂ����łǂ��J�����v�Ƃ����J���菇�𕡐��p�ӂ��܂��B

�@�E�E�E�悭�悭�l����Ƃ���͂Q�D�ł��o���Ă��܂��܂��B�‚܂�A������u�ޗ��Ƃ��ēn���ꂽ���ɉ����ĎJ������ς���v �K�v������̂ł��B����͂Q�D�ł͕s�”\�ł��B�Q�D�ł͗\�ߓn�����ޗ����������Ă��邩�A�\���ł���ꍇ�͗L���ł��B������ �S�����m�̏ꍇ�͂������������‚́u�������̎J�����v���ʕ�����`���ɏ����t���Ă����K�v������̂ł��傤���B
�@���������Ƃ������A�R�D�̏o�ԂɂȂ�܂��B��������Ζ��������ł��B

�E��̈�����́uhoutyou_nigirikata.dll�v�t�@�C���ɏ����t���Ă���܂��B
�ޗ��F�Ƃ肠��������C�B
�菇�P�F�������܂��B
�菇�Q�F�����O�����낵�ɂ��܂��B
�@�@�@�@�����������T���}�������ꍇ�́usabakikata_sannma.dll�v�t�@�C���ɎJ�������ڂ��Ă��܂��B
�@�@�@�@�����������{�}�O���������ꍇ�́usabakikata_honnmaguro.dll�v�t�@�C���ɁE�E�E
�@�@�@�@�������E�E�E
�@�@�@�@�Ƃ����킯�łƂɂ��������O�����낵�ɂ��܂��B
�菇�R�F...

�@����������Ɖ��ǂ������܂��傤�B���̎�ނƁA�J�������ڂ������ʕ���(dll�t�@�C��)��΂ɂ������e�̃t�@�C��������Ă����܂��B

�t�@�C�����F�utui_sakana_sabakikata.txt�v
�T���}�Fsabakikata_sannma.dll
�{�}�O���Fsabakikata_honnmaguro.dll
�C���V�Fsabakikata_iwasi.dll
...

�@�����āA�����O���ɉ��낷�Ƃ��ɂ��̃t�@�C�����Q�Ƃ��āA�Ή�����DLL�����[�h����悤�ɂ���΂����̂ł��B

�i�ȗ��j �菇�Q�F�����O���ɉ��낵�܂��B
�@�@�@�@���̎�ނƎJ�������ڂ����t�@�C���̑Ή��\�́utui_sakana_sabakikata.txt�v�ɂ���܂��B
�@�@�@�@����݂ēK�؂ȎJ�����𒲂ׂĉ������B
�@�@�@�@�Ƃ����킯�łƂɂ��������O�����낵�ɂ��܂��B
�菇�R�F...

�@��������ΐV�������������Ă����Ƃ��ł��Ή��\�ɁA�Ή�����DLL�������t���邾���őΏ��ł���悤�ɂȂ�܂��B
�@�܂������u���̎O�����낵�v�Ɋւ���v���O�C���V�X�e��������Ă����킯�ł��B


�@�ȏ�A�P�D�A�Q�D�A�R�D�ƑS�������d�g�݂� Windows, Linux/UNIX ��OS�ɔ�����Ă��܂��B
�@�e���V�s�̋��ʕ����� Windows �Ō����Ƃ���� DLL�t�@�C�� �ł���ALinux/UNIX�ł� ���L���C�u���� �ɂȂ邱�Ƃ��������� �������ł��傤���B

�@�E�E�EWindows�̏ꍇ��DLL�t�@�C���ł���͎̂��m�̒ʂ�ł��B�ł́A�̐S��Linux/UNIX�ł͂ǂ�ȃt�@�C�����̖����K���� �g���Ă���̂��B�����āA�Ȃ�lib****.so****�͂���ȂɃ����N�������Ă���A���������U���Ă���̂��B
�@�����������̓�ɔ����Ă��������Ǝv���܂��B

Linux/UNIX ���L�̂��񑩁B
�u�{��v�ɖ߂�

�@�����ł́A��Ɂu�����K���v�Ɓu�z�u�ꏊ�v�ɍi���Ă��b�����܂��B
�@�܂��͖����K������ł��B

�@���L���C�u�����̃t�@�C�����͎��̌`���ɏ]���ă����N�t�@�C�����܂߂č쐬����K�v������܂��B
�@���Ɏ�����́u****�v�̕����͂��̃��C�u������\�������񂪓���܂��B���Ƃ���libpam.so��PAM���������邽�߂̃��C�u�����ł��B

�t�@�C�����̌`�����̖̂��O�t�@�C�����̌`���������N��
real namelib****.so.(���W���[�ԍ�).(�}�C�i�[�ԍ��Q) libhogehoge.so.2.0.1.2�i���L���C�u�����{�̂Ȃ̂Ń����N��͖����j
sonamelib****.so.(���W���[�ԍ�)libhogehoge.so.2libhogehoge.so.2.0.1.2
linker namelib****.solibhogehoge.solibhogehoge.so.2


�@�E�E�E���ł���Ȏ��ɂȂ����������ł��傤�B���̌����́ALinux/UNIX�̎��s�t�@�C���`���ɂ���܂��B

�@��قǂ̗Ⴆ�ŁA�u�i�悤�₭�����Łj���ׂɍs���܂��i���͂���ƂāA�Ƃ��鋤�ʕ����ɂ������Ȃ����Ə�����Ă��邩��j�v �Ƃ������������v���o���ĉ������B���́u�Ƃ��鋤�ʕ����v���u�v���O�������[�_�[�v��u�����J���[�_�[�v�ƌĂ΂�镔���ł��B
�@���̃v���O�������[�_�[�ild-linux.so�j�͑O�q�̖����K���ɏ]���Ă��Ȃ��A�����ʂȋ��ʕ����ł��B

�@��قǂ̗Ⴆ�Ō����ƁA�܂��Ɂu�l�Ԃ̓ǂ߂郌�V�s����CPU�̓ǂ߂郌�V�s�ɕϊ�����v�Ƃ��f�t�H���g���`���ɐ錾 ����鋤�ʕ����ł��B���ꂪ�Ȃ��ƁA���̋��ʕ�����CPU���ǂݍ��߂Ȃ��قǂ̏d�v�ȕ����ł��B

�@�ŁA��ɋ����������K���⃊���N�����͂��̃v���O�������[�_�[�̎d�l�Ɋ�Â��܂��B

�@���āB�l�Ԃ̓ǂ߂郌�V�s����CPU�̓ǂ߂郌�V�s�ɕϊ�����i�ȍ~�A���̓�����u�R���p�C������v�ƌ����܂��j���A�g�p���� ���L���C�u���������u-l****�v(��̗�Ȃ� -lhogehoge)�Ƃ��鎖���v���O�������[�_�[�̎d�l�ɂȂ��Ă��܂��B
�@****�͂��Ȃ킿�Alinker name��lib****.so�ɊY�����܂��i���W���[�ԍ��𖳎����Ă܂����j�B����������N���soname�� �v���O�����̓������g����悤�ɂȁi��炵���j��܂��B

�@��ŁB���̒i�K�ł̓��C�u�����́u�t�@�C�����v�͔������Ă��u�f�B���N�g���v��������܂���B����Linux/UNIX�ɂ́u/sbin/ ldconfig�v�Ƃ����R�}���h������܂��B���̃R�}���h���i�ݒ�t�@�C���ɓo�^�ς݂́j�f�B���N�g�����������A���C�u������ �u�t�@�C�����v�Ƃ��̃f�B���N�g���ʒu��ژ^�����Ă���܂��B���̖ژ^��/etc/ld.so.cache�t�@�C���Ɋi�[ ����܂��B
�@�ŁA���̖ژ^�̍쐬�Ɏg����u�t�@�C�����v�� soname �Ȃ킯�ł��B��ŁA�v���O��������v���O�������[�_�A������ �t�@�C���V�X�e����̃����N�����ǂ��Ă悤�₭ realname �Ɏ���킯�ł��B

�@�Ƃɂ����A�v���O�������[�_�[��ldconfig�̎d�l�ɂ���ĂQ��ނ̃����N���쐬����K�v���������킯�ł��B

�@�����z�u�ꏊ�ɂ‚��ĉ�����܂��B���܂ł̐����ł��ƁA�v���O���������ŋ��L���C�u�������w�肷��Ƃ���soname�� �g���܂��B���A���ꂾ���ł��Ɓu�ǂ̃f�B���N�g���ɂ���̂��v��������܂���B���̂��߂ɁAsoname����������Ƃ��̃C���f�b�N�X �Ƃ���/etc/ld.so.cache������A���̃C���f�b�N�X���X�V����̂�/sbin/ldconfig�ł����B
�@�ŁB���ۂ�ldconfig�͂ǂ̃f�B���N�g�����������ăC���f�b�N�X���쐬���Ă���̂��B��������f�B���N�g�������X�g�����̂� �u/etc/ld.so.conf�v�t�@�C���ł��B����͒P���ȃe�L�X�g�t�@�C���ł��B����(TLXW8)���ڂ����܂��B
[fenjin@seisyuu fenjin]$ cat /etc/ld.so.conf
/usr/X11R6/lib
/usr/lib/gconv
/usr/lib/qt/lib
/usr/local/lib
/usr/i386-linuxaout/lib
/usr/lib/libc5-compat
/usr/lib/sane
/usr/lib/Omni
[fenjin@seisyuu fenjin]$

�@�E�E�E�u/lib�v��u/usr/lib�v�͂ǂ��s�����̂ł��傤�B���͂��̓�‚̃f�B���N�g����ldconfig���f�t�H���g�ŕK�� �`�F�b�N����f�B���N�g���ł��B���̂��߁A�킴�킴/etc/ld.so.conf�ɋL�q����K�v���Ȃ���ł��B
�@/usr/local/lib����������w�肳��Ă��܂��B���́A/usr/local/lib��ldconfig�̃f�t�H���g�ł͂���܂���(RHL6.2�ȍ~)�B���� ���߂킴�킴ld.so.conf�ɋL�q����K�v���������킯�ł��B

�@���ǁA�p�^�[�������͂߂Ă��܂���Windows�Ɠ������A����ȏ�ɂ��ߍׂ������C�u�������Ǘ��ł����Ƃ����ւ�Ă��� ��ɂȂ��Ă��܂��܂��B
�@�Ȃ��Ȃ烉�C�u�����̎w��ɗp���Ă���̂�soname�ł����A�����realname�ւ̃V���{���b�N�����N�ł��B
�@�Ƃ������Ƃ́A�������C�u�������o�[�W�����A�b�v���ꂽ�Ƃ��Ȃǂ́A�Â����C�u�������㏑�������������N���� �ύX���邱�Ƃɂ���āA������ɔ��������C�u�����̃o�[�W�����A�b�v���o����킯�ł��B

�@�����āA���C�u�����̃C���X�g�[����́u/lib�v�u/usr/lib�v�A������/etc/ld.so.conf�ɋL�q����Ă���f�B���N�g�����ł��� ���Ƃ��m���ł��i�{����LD_LIBRARY_PATH�‹��ϐ��Ń��[�J���ɕύX���ł���̂ł����j�B

�@�܂�����Ȋ����ŁALinux/UNIX�̋��L���C�u�����̎d�g�݂͐��藧���Ă��܂��B

�ڎ��ɖ߂�

�㏑�������͊��z

�@�Ō�ɁAC����ɂ����錵���ȈӖ��ł����C�u�����Ƌ��L���C�u�����̈Ⴂ�ɂ‚��Č��y���Ă����܂��B
�@C����ł̓R���p�C������Ƃ��Ɉꏏ�ɕ������킹��̂����C�u�����ł��B�‚܂�A���̎O�����낵�Ō����P�D�̃p�^�[���̎� �p���Ă��鋤�ʕ������u���C�u�����v�Ƃ����܂��B�g���q���u.a�v�ɂȂ��Ă������Ƃ��傫�ȓ����ł��iWindows�ł́u.lib�v�ɂȂ��Ă���ꍇ�������j�B
�@Linux/UNIX, Windows�Łu���L���C�u�����v�ƌ����ꍇ�A����́u.a�v�t�@�C���ł͂���܂���B
�@�Ƃ����̂́A.a�t�@�C�������̑��̃��C���v���O�����ɕ������킳��������\�z����Ă��邽�߁A.a���g���g�p���Ă��� ���ʕ���(printf�Ƃ�)��.a�ɂ͊܂߂Ȃ��悤�ɂȂ��Ă��܂��B�������킹��̃��C���v���O�������ňꏏ�ɂ��Ă���鎖�� �\�z����Ă��邩��ł��B
�@�Ƃ��낪���L���C�u�����́A���ꎩ�̂Ŋ�������悤�ɂȂ��Ă��܂��B���ʕ����Ƃ��Ẵ��C�u�������i�����������C�� �v���O�����Ɠ����̑��݂ł��邩�̂悤�Ɂj������ƃ����N����āAlib****.so****�����������킯�ł�(Windows�Ȃ�*.dll)�B
�@�����Ȓ�`��ǂ�������Ƃ����������Ⴂ���o�Ă��܂��B�܂��A��v���O���}�̐l�����ɂ͂��悻�֌W�Ȃ��b�ł��B


�@�������Ȃ���C/C++�̃v���O���}�i�w�K�ҁj�ŁA���L���C�u�����̎��ۂ̃\�[�X�R�[�h�Ŏ�����������΁A�{�y�[�W�̑O������ �ڂ��Ă���JF�h�L�������g���Q�Ƃ���Ɨǂ��ł��傤�B�����ł̓v���O���~���O�ɂ͈�ؗ������炸�b���������߁A������Ȃ������� ���R�������Ǝv���܂��B
�@�ǂ���ɂ���A���̃y�[�W�����Ȃ���Linux/UNIX�̃��C�u�����ɑ΂��错�Ƃ����s�����������ł��y���ł���Α�ς��ꂵ���ł��B

2015�N���_�ł̎Q�l�E���E����

2015-06�ʂɁA������̋L���ւ́u�͂Ăȃu�b�N�}�[�N�v���}�����܂����B �Q�l�ɂ��Ă���������̂͂��肪�����̂ł����A�Ȃɂ���2003�N���Ɏ��g���׋����̏�ԂŁA���������˂Ď��M�����L���ł��B ��g�Ƃ��ēK�؂łȂ�������A�����������������L����ǂ����Ƃ���l�B�̋Z�p���x�����l�����Ă��Ȃ�������A��������������L�q�ɕs���m�E�s�\���ȓ_������܂��B

2015�N���݁Aunix�A����Linux�ł̋��L���C�u����(.so�t�@�C��)�ɂ‚��āA��萳�m���•�����₷���w�ׂ鏑�Ђ��o�Ă��܂��B Linux���g���Ă��āA���L���C�u����(.so�t�@�C��)�̎d�g�݂ɂ‚��ċ����������ꂽ���́A���Ђ�����̏��ЂŁA��萳�m�ŕ�����₷�����͂Ŋw��ł����������Ƃ𐄏����܂��B

�������Ђ���1�i��b����������Ă��܂��̂ŁA��ԃI�X�X���j

�������Ђ���2�i���gcc�R���p�C����ELF�t�H�[�}�b�g�̃f�B�[�v�Șb�肪�����A�v���O���}�����`�㋉�Ҍ����j

Windows�̏ꍇ��DLL(Dynamic Link Library)�ɂ‚��ẮAVisual C++�J���Ҍ����̃h�L�������g��AMicrosoft����̉���������o�Ă��܂��̂ŁA�܂���������m�F����邱�Ƃ𐄏����܂��B


��MSDN���URL�͎��X�T�C�g�\���̃A�b�v�f�[�g�ŕω����܂��B�܂��A���p���Ă���Visual C++/Visual Studio�̃o�[�W�����Ɠ����h�L�������g���Q�Ƃ����ق������m�ł��B���̂��߁A��L�����N��Not Found�ɂȂ����ꍇ��A�����p��VisualC++/Visual Studio�̃o�[�W�����ƈقȂ�ꍇ�́A���萔�ł����������Ȃ����Ă��������B

Windows�̏ꍇ�AEXE�t�@�C����DLL�t�@�C����Portable Executable�t�H�[�}�b�g(PE�t�H�[�}�b�g)�Ƃ����`���ō\������Ă��܂��B DLL�Ŏg����F�X�ȋ@�\��I�v�V�����́APE�t�H�[�}�b�g�Ɩ��ڂɊ֘A���Ă��܂��B ���̂��߁ADLL���w�Ԃɂ�PE�t�H�[�}�b�g�ɂ‚��Ă��w�񂾂ق����o�����X���ǂ��Ǝv���܂��B

2015-06���_�Ōy�����������Ƃ���A���{��ł͈ȉ��̋L�����I�X�X���ł��B�ŏ���vector��HP�ɂ‚��Ă�2010�N��������PE�t�H�[�}�b�g�̕׋��̍ۂɎQ�l�ɂ����L���ł��B


�p��ɂȂ��Ă��܂��܂����AMatt Pietrek����PE�t�H�[�}�b�g�̉�������ɏڂ����ł��BPE�t�@�C���Ƀ����N������O�́AOBJ�t�@�C����LIB�t�@�C���ɂ‚��Ă��������Ă��܂��B ������MSDN��̋L���ł���A�T�C�g�\���̃��j���[�A����URL���ς���Ă��܂��܂��B �ȉ��̏Љ�L���̃^�C�g�����Q�l�ɁAMSDN�̋L�����������Ă݂Ă��������B
"Matt Pietrek - MSDN & MSJ Articles" : http://www.wheaty.net/articles.htm �ڎ��ɖ߂�

�g�b�v�y�[�W�������u�Ղ낮��݂񂮁v�ڎ�