ಲಿನಕ್ಸ್ / ಯುನಿಕ್ಸ್ ಕಮಾಂಡ್: ಐಡಿ

NAME

ld - ಗ್ನೂ ಲಿಂಕ್ ಮಾಡುವ ಎಲ್ಡಿ ಅನ್ನು ಬಳಸುವುದು

ಸಿನೋಪ್ಸಿಸ್

ld [ options ] objfile ...

ವಿವರಣೆ

ld ಹಲವಾರು ವಸ್ತು ಮತ್ತು ಆರ್ಕೈವ್ ಕಡತಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ, ಅವುಗಳ ಡೇಟಾವನ್ನು ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ ಮತ್ತು ಸಂಕೇತದ ಉಲ್ಲೇಖಗಳನ್ನು ಜೋಡಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಪ್ರೊಗ್ರಾಮ್ ಕಂಪೈಲ್ ಮಾಡುವ ಕೊನೆಯ ಹಂತವೆಂದರೆ ld ಅನ್ನು ಚಲಾಯಿಸುವುದು.

ld ಲಿಂಕ್ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯ ಮೇಲೆ ಸ್ಪಷ್ಟ ಮತ್ತು ಒಟ್ಟು ನಿಯಂತ್ರಣವನ್ನು ಒದಗಿಸಲು AT & T ನ ಲಿಂಕ್ ಎಡಿಟರ್ ಕಮಾಂಡ್ ಲಾಂಗ್ವೇಜ್ ಸಿಂಟ್ಯಾಕ್ಸ್ನ ಸೂಪರ್ಸೆಟ್ನಲ್ಲಿ ಲಿಂಡರ್ ಕಮ್ಯಾಂಡ್ ಭಾಷಾ ಫೈಲ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ.

ಈ ಮ್ಯಾನ್ ಪುಟ ಆಜ್ಞಾ ಭಾಷೆಯನ್ನು ವಿವರಿಸುವುದಿಲ್ಲ; "info" ನಲ್ಲಿ ld ನಮೂದನ್ನು ನೋಡಿ, ಅಥವಾ ಕೈಪಿಡಿ ld: GNU linker, ಕಮಾಂಡ್ ಭಾಷೆ ಮತ್ತು GNU ಲಿಂಕ್ನ ಇತರ ಅಂಶಗಳ ಬಗ್ಗೆ ಪೂರ್ಣ ವಿವರಗಳಿಗಾಗಿ ನೋಡಿ.

ಈ ಆವೃತ್ತಿ ld ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಸಾಮಾನ್ಯ ಉದ್ದೇಶ BFD ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ld ಯನ್ನು ವಿವಿಧ ಸ್ವರೂಪಗಳಲ್ಲಿ --- ಉದಾಹರಣೆಗೆ, COFF ಅಥವಾ "a.out" ನಲ್ಲಿ ವಸ್ತು ಫೈಲ್ಗಳನ್ನು ಓದಲು, ಸಂಯೋಜಿಸಲು ಮತ್ತು ಬರೆಯಲು ಅನುಮತಿಸುತ್ತದೆ. ಯಾವುದೇ ರೀತಿಯ ರೀತಿಯ ವಸ್ತು ಕಡತವನ್ನು ಉತ್ಪಾದಿಸಲು ವಿಭಿನ್ನ ಸ್ವರೂಪಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸಂಪರ್ಕಿಸಬಹುದು.

ಇದರ ನಮ್ಯತೆಯ ಹೊರತಾಗಿ, ರೋಗನಿರ್ಣಯದ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುವ ಇತರ ಲಿಂಕ್ದಾರರಿಗಿಂತಲೂ ಗ್ನೂ ಲಿಂಕ್ಕರ್ ಹೆಚ್ಚು ಉಪಯುಕ್ತವಾಗಿದೆ. ದೋಷವನ್ನು ಎದುರಿಸುವಾಗ ಅನೇಕ ಲಿಂಕ್ದಾರರು ತಕ್ಷಣವೇ ಮರಣದಂಡನೆಯನ್ನು ಕೈಬಿಡುತ್ತಾರೆ; ಸಾಧ್ಯವಾದಾಗಲೆಲ್ಲಾ, ld ಇತರ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, (ಅಥವಾ, ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ದೋಷದ ಹೊರತಾಗಿಯೂ ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ಪಡೆಯಲು).

ಗ್ನೂ ಲಿಂಕರ್ ld ಒಂದು ವಿಶಾಲವಾದ ಸನ್ನಿವೇಶಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ಇತರ ಲಿಂಕ್ದಾರರೊಂದಿಗೆ ಸಾಧ್ಯವಾದಷ್ಟು ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, ನೀವು ಅದರ ನಡವಳಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ಅನೇಕ ಆಯ್ಕೆಗಳಿವೆ.

ಆಯ್ಕೆಗಳು

ಲಿಂಕ್ -ಲೈನ್ ಆಯ್ಕೆಗಳ ಬಹುಪಾಲು ಲಿಂಕ್ದಾರನು ಬೆಂಬಲಿಸುತ್ತಾನೆ, ಆದರೆ ವಾಸ್ತವಿಕ ಬಳಕೆಯಲ್ಲಿ ಅವುಗಳಲ್ಲಿ ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಸಂದರ್ಭಗಳಲ್ಲಿ ಬಳಸಲ್ಪಡುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಯುನಿಕ್ಸ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಯುನಿಕ್ಸ್ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳನ್ನು ಲಿಂಕ್ ಮಾಡುವುದು ಎಂದರೆ ld ನ ಆಗಾಗ್ಗೆ ಬಳಕೆ. ಅಂತಹ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, "hello.o" ಫೈಲ್ ಅನ್ನು ಲಿಂಕ್ ಮಾಡಲು:

ld -o /lib/crt0.o hello.o -lc

"Hello.o" ಮತ್ತು ಗ್ರಂಥಾಲಯ "libc.a" ನೊಂದಿಗೆ "/lib/crt0.o" ಫೈಲ್ ಅನ್ನು ಲಿಂಕ್ ಮಾಡುವ ಪರಿಣಾಮವಾಗಿ ಔಟ್ಪುಟ್ ಎಂಬ ಫೈಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ld ಗೆ ಹೇಳುತ್ತದೆ, ಇದು ಪ್ರಮಾಣಿತ ಹುಡುಕಾಟ ಡೈರೆಕ್ಟರಿಗಳಿಂದ ಬರುತ್ತದೆ. (ಕೆಳಗೆ -l ಆಯ್ಕೆಯನ್ನು ಚರ್ಚಿಸಿ ನೋಡಿ.)

ಆಜ್ಞಾ ಸಾಲಿನ ಯಾವುದೇ ಹಂತದಲ್ಲಿ ld ಗೆ ಆಜ್ಞಾ ಸಾಲಿನ ಆಯ್ಕೆಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಆದಾಗ್ಯೂ, -l ಅಥವಾ -T ಯಂತಹ ಫೈಲ್ಗಳನ್ನು ಉಲ್ಲೇಖಿಸುವ ಆಯ್ಕೆಗಳು ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳು ಮತ್ತು ಇತರ ಫೈಲ್ ಆಯ್ಕೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಆಯ್ಕೆಯಲ್ಲಿ ಫೈಲ್ ಅನ್ನು ಓದಲು ಕಾರಣವಾಗುತ್ತವೆ. ವಿಭಿನ್ನವಾದ ಆರ್ಗ್ಯುಮೆಂಟ್ನೊಂದಿಗೆ ಅಲ್ಲದ ಫೈಲ್ ಆಯ್ಕೆಗಳನ್ನು ಪುನರಾವರ್ತಿಸುವುದರಿಂದ ಆ ಆಯ್ಕೆಯ ಮುಂದಿನ ಪರಿಣಾಮಗಳನ್ನು ಅಥವಾ ಆಜ್ಞೆಯ ಹಿಂದಿನ ಆವರ್ತನಗಳನ್ನು (ಆಜ್ಞಾ ಸಾಲಿನ ಎಡಕ್ಕೆ ಮತ್ತಷ್ಟು) ಹೊಂದಿರುವುದಿಲ್ಲ. ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಅರ್ಥಪೂರ್ಣವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದಾದ ಆಯ್ಕೆಗಳು ಕೆಳಗಿರುವ ವಿವರಣೆಗಳಲ್ಲಿ ಗಮನಿಸಲ್ಪಟ್ಟಿವೆ.

ನಾನ್-ಐಚ್ಛಿಕ ಆರ್ಗ್ಯುಮೆಂಟುಗಳು ಒಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳು ಅಥವಾ ಆರ್ಕೈವ್ಗಳನ್ನು ಒಟ್ಟಿಗೆ ಲಿಂಕ್ ಮಾಡುತ್ತವೆ. ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಯ್ಕೆಯನ್ನು ಮತ್ತು ಅದರ ವಾದದ ನಡುವೆ ಇಡಲಾಗುವುದಿಲ್ಲ ಹೊರತುಪಡಿಸಿ, ಅವರು ಅನುಸರಿಸಬಹುದು, ಮುಂಚಿತವಾಗಿ, ಅಥವಾ ಆಜ್ಞಾ ಸಾಲಿನ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಬೆರೆಸಬಹುದು.

ಸಾಮಾನ್ಯವಾಗಿ ಲಿಂಕರ್ ಕನಿಷ್ಠ ಒಂದು ವಸ್ತು ಫೈಲ್ನೊಂದಿಗೆ ಆಹ್ವಾನಿಸಲ್ಪಡುತ್ತದೆ, ಆದರೆ -l , -R , ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಕಮಾಂಡ್ ಭಾಷೆಯ ಮೂಲಕ ನೀವು ಇತರ ಬಗೆಯ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಯಾವುದೇ ಅವಳಿ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ಸೂಚಿಸದಿದ್ದರೆ, ಲಿಂಕರ್ ಯಾವುದೇ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಸಂದೇಶವನ್ನು ಸಮಸ್ಯೆಯಿಲ್ಲ ಯಾವುದೇ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳು .

ಲಿಂಕ್ ಫೈಲ್ ಅನ್ನು ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ನ ಸ್ವರೂಪವನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಅದು ಲಿಂಕ್ ಮಾಡುವ ಸ್ಕ್ರಿಪ್ಟ್ ಎಂದು ತಿಳಿಯುತ್ತದೆ. ಈ ರೀತಿಯಾಗಿ ಸೂಚಿಸಲಾದ ಸ್ಕ್ರಿಪ್ಟ್ ಲಿಂಕ್ಗಾಗಿ ಬಳಸುವ ಮುಖ್ಯ ಲಿಂಕರ್ ಲಿಪಿಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ (ಡೀಫಾಲ್ಟ್ ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅಥವಾ -T ಬಳಸಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಒಂದು). ಈ ವೈಶಿಷ್ಟ್ಯವು ಲಿಂಕ್ ಅಥವಾ ಆರ್ಕೈವ್ನಂತೆ ಕಾಣಿಸುವ ಫೈಲ್ಗೆ ಲಿಂಕ್ ಮಾಡಲು ಲಿಂಕ್ದಾರರಿಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ, ಆದರೆ ವಾಸ್ತವವಾಗಿ ಕೇವಲ ಕೆಲವು ಚಿಹ್ನೆಯ ಮೌಲ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ ಅಥವಾ ಇತರ ವಸ್ತುಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು "INPUT" ಅಥವಾ "GROUP" ಅನ್ನು ಬಳಸುತ್ತದೆ. ಈ ರೀತಿಯಾಗಿ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದರಿಂದ ಕೇವಲ ಮುಖ್ಯ ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ; ಪೂರ್ವನಿಯೋಜಿತ ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬದಲಿಸಲು -T ಆಯ್ಕೆಯನ್ನು ಬಳಸಿ.

ಆಯ್ಕೆಗಳ ಹೆಸರುಗಳು ಒಂದೇ ಪತ್ರವಾಗಿದ್ದು, ಆಯ್ಕೆಯನ್ನು ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳು ಬಿಳಿಯರಲ್ಲಿ ಮಧ್ಯಪ್ರವೇಶಿಸದೆ ಆಯ್ಕೆಯನ್ನು ಪತ್ರವನ್ನು ಅನುಸರಿಸಬೇಕು ಅಥವಾ ಬೇಕಾಗುವ ಆಯ್ಕೆಯನ್ನು ತಕ್ಷಣವೇ ಪ್ರತ್ಯೇಕವಾದ ವಾದಗಳಾಗಿ ನೀಡಬೇಕು.

ಆಯ್ಕೆಗಳ ಹೆಸರುಗಳು ಬಹು ಅಕ್ಷರಗಳು, ಒಂದು ಡ್ಯಾಶ್ ಅಥವಾ ಎರಡು ಆಯ್ಕೆ ಹೆಸರನ್ನು ಮುಂಚಿತವಾಗಿ ಮಾಡಬಹುದು; ಉದಾಹರಣೆಗೆ, -trace- ಚಿಹ್ನೆ ಮತ್ತು --trace- ಚಿಹ್ನೆ ಸಮಾನವಾಗಿರುತ್ತದೆ. ಗಮನಿಸಿ - ಈ ನಿಯಮಕ್ಕೆ ಒಂದು ವಿನಾಯಿತಿ ಇದೆ. ಕಡಿಮೆ ಅಕ್ಷರ 'ಓ'ದೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಬಹು ಅಕ್ಷರದ ಆಯ್ಕೆಗಳು ಎರಡು ಡ್ಯಾಶ್ಗಳಿಂದ ಮಾತ್ರವೇ ಮುಂದೂಡಲ್ಪಡುತ್ತವೆ. ಇದು ಗೊಂದಲವನ್ನು -o ಆಯ್ಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು. ಉದಾಹರಣೆಗೆ - -ಮಯಾಜಿಕ್ ಔಟ್ಪುಟ್ ಫೈಲ್ ಹೆಸರನ್ನು ಮಂತ್ರಕ್ಕೆ ಹೊಂದಿಸುತ್ತದೆ ಆದರೆ --omagic ಔಟ್ಪುಟ್ನಲ್ಲಿ NMAGIC ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ.

ಬಹು-ಪತ್ರ ಆಯ್ಕೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ವಾದಗಳು ಆಯ್ಕೆಯ ಹೆಸರಿನಿಂದ ಒಂದು ಸಮ ಚಿಹ್ನೆಯಿಂದ ಬೇರ್ಪಡಿಸಲ್ಪಡಬೇಕು ಅಥವಾ ಬೇಕಾದ ಆಯ್ಕೆಯನ್ನು ಅನುಸರಿಸಿ ತಕ್ಷಣವೇ ಪ್ರತ್ಯೇಕ ವಾದಗಳನ್ನು ನೀಡಬೇಕು. ಉದಾಹರಣೆಗೆ, --trace-symbol foo ಮತ್ತು --trace-symbol = foo ಗಳು ಸಮಾನವಾಗಿರುತ್ತದೆ. ಮಲ್ಟಿ-ಲೆಟರ್ ಆಯ್ಕೆಗಳ ಹೆಸರುಗಳ ವಿಶಿಷ್ಟ ಸಂಕ್ಷೇಪಣಗಳನ್ನು ಅಂಗೀಕರಿಸಲಾಗಿದೆ.

ಸೂಚನೆ - ಲಿಂಕರ್ ಅನ್ನು ಪರೋಕ್ಷವಾಗಿ ಆಹ್ವಾನಿಸಿದರೆ, ಒಂದು ಕಂಪೈಲರ್ ಡ್ರೈವರ್ (ಉದಾ. ಜಿಸಿಸಿ ) ಮೂಲಕ -ಎಲ್ಲಾ ಲಿಂಕರ್ ಆಜ್ಞಾ ಸಾಲಿನ ಆಯ್ಕೆಗಳನ್ನು -ಬ್ಲ್ಯೂ, (ಅಥವಾ ನಿರ್ದಿಷ್ಟವಾದ ಕಂಪೈಲರ್ ಡ್ರೈವರ್ಗೆ ಸೂಕ್ತವಾದದ್ದು) ಮೂಲಕ ಪೂರ್ವಭಾವಿಯಾಗಿರಬೇಕು :

gcc -Wl, - ಆರಂಭದ ಗುಂಪು foo.o bar.o -Wl, - ಎಂಡ್ಗ್ರೂಪ್

ಇದು ಮುಖ್ಯವಾಗಿದೆ, ಇಲ್ಲದಿದ್ದರೆ ಕಂಪೈಲರ್ ಡ್ರೈವರ್ ಪ್ರೋಗ್ರಾಂ ಲಿಂಕರ್ ಆಯ್ಕೆಗಳನ್ನು ಮೌನವಾಗಿ ಬಿಡಬಹುದು, ಅದು ಕೆಟ್ಟ ಲಿಂಕ್ ಆಗಿರುತ್ತದೆ.

ಇಲ್ಲಿ ಗ್ನೂ ಲಿಂಕ್ಕರ್ ಸ್ವೀಕರಿಸಿದ ಜೆನೆರಿಕ್ ಆಜ್ಞಾ ಸಾಲಿನ ಸ್ವಿಚ್ಗಳ ಒಂದು ಕೋಷ್ಟಕ:

-ಒಂದು ಕೀವರ್ಡ್

ಈ ಆಯ್ಕೆಯನ್ನು HP / UX ಹೊಂದಾಣಿಕೆಗೆ ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ. ಕೀವರ್ಡ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಸ್ಟ್ರಿಂಗ್ ಆರ್ಕೈವ್ , ಹಂಚಿಕೆ , ಅಥವಾ ಡೀಫಾಲ್ಟ್ ಆಗಿರಬೇಕು. -ಆರ್ಚೀವ್ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ -ಬಾಸ್ಟಟಿಕ್ಗೆ ಸಮನಾಗಿರುತ್ತದೆ, ಮತ್ತು ಇತರ ಎರಡು ಕೀವರ್ಡ್ಗಳು -ಬಿಡೈನಮಿಕ್ಗೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಸಮಾನವಾಗಿವೆ. ಈ ಆಯ್ಕೆಯನ್ನು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಬಾರಿ ಬಳಸಬಹುದು.

- ವಾಸ್ತುಶಿಲ್ಪ

--architecture = ವಾಸ್ತುಶಿಲ್ಪ

Ld ನ ಪ್ರಸಕ್ತ ಬಿಡುಗಡೆಯಲ್ಲಿ, ಈ ಆಯ್ಕೆಯು ಇಂಟೆಲ್ 960 ಕುಟುಂಬದ ವಾಸ್ತುಶಿಲ್ಪಗಳಿಗೆ ಮಾತ್ರ ಉಪಯುಕ್ತವಾಗಿದೆ. ಆ ಎಲ್ಡಿ ಸಂರಚನೆಯಲ್ಲಿ, ಆರ್ಕಿಟೆಕ್ಚರ್ ಆರ್ಗ್ಯುಮೆಂಟ್ 960 ಕುಟುಂಬದಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಗುರುತಿಸುತ್ತದೆ, ಕೆಲವು ರಕ್ಷಣೋಪಾಯಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಆರ್ಕೈವ್-ಲೈಬ್ರರಿ ಹುಡುಕಾಟ ಮಾರ್ಗವನ್ನು ಮಾರ್ಪಡಿಸುತ್ತದೆ.

ಭವಿಷ್ಯದ ld ಯ ಇತರ ಬಿಡುಗಡೆಗಳು ಇತರ ವಾಸ್ತುಶೈಲಿ ಕುಟುಂಬಗಳಿಗೆ ಇದೇ ಕಾರ್ಯವನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ.

-b ಇನ್ಪುಟ್-ಫಾರ್ಮ್ಯಾಟ್

--format = ಇನ್ಪುಟ್-ಫಾರ್ಮ್ಯಾಟ್

ld ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ರೀತಿಯ ವಸ್ತು ಕಡತವನ್ನು ಬೆಂಬಲಿಸಲು ಸಂರಚಿಸಬಹುದು. ನಿಮ್ಮ ld ಅನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದರೆ, ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಈ ಆಯ್ಕೆಯನ್ನು ಅನುಸರಿಸುವ ಇನ್ಪುಟ್ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳಿಗಾಗಿ ಬೈನರಿ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ನೀವು -b ಆಯ್ಕೆಯನ್ನು ಬಳಸಬಹುದು. ಪರ್ಯಾಯ ಆಬ್ಜೆಕ್ಟ್ ಫಾರ್ಮ್ಯಾಟ್ಗಳನ್ನು ಬೆಂಬಲಿಸಲು ld ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದ್ದರೂ ಸಹ, ನೀವು ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗಿಲ್ಲ, ಪ್ರತಿ ಗಣಕದಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಇನ್ಪುಟ್ ಸ್ವರೂಪವನ್ನು ಹೆಚ್ಚು ಸಾಮಾನ್ಯ ರೂಪದಲ್ಲಿ ಎಲ್ಡಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿರುತ್ತದೆ. ಇನ್ಪುಟ್-ಸ್ವರೂಪವು ಟೆಕ್ಸ್ಟ್ ಸ್ಟ್ರಿಂಗ್ ಆಗಿದೆ, ಇದು ಬಿಎಫ್ಡಿ ಗ್ರಂಥಾಲಯಗಳು ಬೆಂಬಲಿಸುವ ನಿರ್ದಿಷ್ಟ ಸ್ವರೂಪದ ಹೆಸರಾಗಿರುತ್ತದೆ. ( Objdump -i ದೊಂದಿಗೆ ಲಭ್ಯವಿರುವ ಬೈನರಿ ಫಾರ್ಮ್ಯಾಟ್ಗಳನ್ನು ನೀವು ಪಟ್ಟಿ ಮಾಡಬಹುದು)

ನೀವು ಫೈಲ್ಗಳನ್ನು ಅಸಾಮಾನ್ಯ ದ್ವಿಮಾನ ಸ್ವರೂಪದೊಂದಿಗೆ ಲಿಂಕ್ ಮಾಡುತ್ತಿದ್ದರೆ ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಲು ನೀವು ಬಯಸಬಹುದು. ನೀವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಸ್ವರೂಪದ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳ ಪ್ರತಿ ಗುಂಪುಗೂ ಮುಂಚಿತವಾಗಿ -b ಇನ್ಪುಟ್-ಸ್ವರೂಪವನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಸ್ಪಷ್ಟವಾಗಿ ಸ್ವರೂಪಗಳನ್ನು ಬದಲಾಯಿಸಲು (ಬಿ ವಿವಿಧ ಸ್ವರೂಪಗಳ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳನ್ನು ಲಿಂಕ್ ಮಾಡುವಾಗ) ಬದಲಾಯಿಸಬಹುದು.

"GNUTARGET" ಪರಿಸರ ವೇರಿಯಬಲ್ ನಿಂದ ಡೀಫಾಲ್ಟ್ ಸ್ವರೂಪವನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ.

"TARGET" ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಕ್ರಿಪ್ಟ್ನಿಂದ ಇನ್ಪುಟ್ ಸ್ವರೂಪವನ್ನು ನೀವು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು;

-c ಎಂಆರ್ಐ-ಕಮಾಂಡ್ಫೈಲ್

--mri-script = MRI-commandfile

ಎಂಆರ್ಐ ನಿರ್ಮಿಸಿದ ಲಿಂಕ್ದಾರರೊಂದಿಗಿನ ಹೊಂದಾಣಿಕೆಗಾಗಿ, ಲಿಡಿ ಗ್ನೂ ಎಲ್ಡಿ ದಾಖಲೆಯ ಎಂಆರ್ಐ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತಿರುವ ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳ ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಲಾದ ಪರ್ಯಾಯ, ನಿರ್ಬಂಧಿತ ಕಮ್ಯಾಂಡ್ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾದ ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ಎಂಆರ್ಐ ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳನ್ನು ಆಯ್ಕೆಯನ್ನು -c ನೊಂದಿಗೆ ಪರಿಚಯಿಸಿ; ಸಾಮಾನ್ಯ-ಉದ್ದೇಶದ ld ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಬರೆದ ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟುಗಳನ್ನು ಚಲಾಯಿಸಲು -T ಆಯ್ಕೆಯನ್ನು ಬಳಸಿ. MRI-cmdfile ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ, ld ಯಾವುದೇ -L ಆಯ್ಕೆಗಳಿಂದ ಸೂಚಿಸಲಾದ ಕೋಶಗಳಲ್ಲಿ ಅದನ್ನು ಹುಡುಕುತ್ತದೆ.

-d

-ಡಿಸಿ

-dp

ಈ ಮೂರು ಆಯ್ಕೆಗಳು ಸಮಾನವಾಗಿವೆ; ಇತರ ಲಿಂಕರ್ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗೆ ಬಹು ರೂಪಗಳನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ. ಒಂದು ಸ್ಥಳಾಂತರಗೊಳ್ಳಬಹುದಾದ ಔಟ್ಪುಟ್ ಫೈಲ್ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೂ ( -r ) ನೊಂದಿಗೆ ಅವು ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಗಳಿಗೆ ಜಾಗವನ್ನು ನಿಗದಿಪಡಿಸುತ್ತವೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಆದೇಶ "FORCE_COMMON_ALLOCATION" ಒಂದೇ ಪರಿಣಾಮವನ್ನು ಹೊಂದಿದೆ.

-ಇ ಪ್ರವೇಶ

--ೆಂಟ್ರಿ = ಪ್ರವೇಶ

ಡೀಫಾಲ್ಟ್ ಪ್ರವೇಶ ಬಿಂದುಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ನಿಮ್ಮ ಪ್ರೊಗ್ರಾಮ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸ್ಪಷ್ಟ ಸಂಕೇತವಾಗಿ ಪ್ರವೇಶವನ್ನು ಬಳಸಿ. ಯಾವುದೇ ಹೆಸರಿನ ನಮೂದು ಇಲ್ಲದಿದ್ದರೆ, ಲಿಂಕ್ ಅನ್ನು ಸಂಖ್ಯೆಯಂತೆ ಪಾರ್ಸ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರವೇಶ ವಿಳಾಸವಾಗಿ (ಸಂಖ್ಯೆಯನ್ನು ಮೂಲ 10 ರಲ್ಲಿ ಅರ್ಥೈಸಲಾಗುತ್ತದೆ; ನೀವು ಬೇಸ್ 16 ಗಾಗಿ ಪ್ರಮುಖ 0x ಅನ್ನು ಬಳಸಬಹುದು, ಅಥವಾ ಪ್ರಮುಖ 0 ಬೇಸ್ 8 ಗಾಗಿ).

-ಇ

- ಎಕ್ಸ್ಪೋರ್ಟ್-ಡೈನಾಮಿಕ್

ಸಕ್ರಿಯವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಕಾರ್ಯಗತಗೊಳ್ಳುವಿಕೆಯನ್ನು ರಚಿಸುವಾಗ, ಕ್ರಿಯಾತ್ಮಕ ಚಿಹ್ನೆ ಕೋಷ್ಟಕಕ್ಕೆ ಎಲ್ಲಾ ಚಿಹ್ನೆಗಳನ್ನು ಸೇರಿಸಿ. ಕ್ರಿಯಾತ್ಮಕ ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕವು ಚಾಲನಾಸಮಯ ಸಮಯದಲ್ಲಿ ಚಲನಶೀಲ ವಸ್ತುಗಳಿಂದ ಗೋಚರಿಸುವ ಸಂಕೇತಗಳ ಗುಂಪಾಗಿದೆ.

ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸದಿದ್ದರೆ, ಕ್ರಿಯಾತ್ಮಕ ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕವು ಸಾಮಾನ್ಯವಾಗಿ ಲಿಂಕ್ನಲ್ಲಿ ಉಲ್ಲೇಖಿಸಲಾದ ಕೆಲವು ಕ್ರಿಯಾತ್ಮಕ ವಸ್ತುಗಳಿಂದ ಉಲ್ಲೇಖಿಸಲ್ಪಟ್ಟ ಆ ಚಿಹ್ನೆಗಳನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿರುತ್ತದೆ.

ಕ್ರಿಯಾತ್ಮಕ ವಸ್ತುವನ್ನು ಲೋಡ್ ಮಾಡಲು ನೀವು "dlopen" ಅನ್ನು ಬಳಸಿದರೆ, ಕೆಲವು ಕ್ರಿಯಾತ್ಮಕ ವಸ್ತುಗಳಿಗಿಂತ ಪ್ರೋಗ್ರಾಂನಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲ್ಪಟ್ಟಿರುವ ಸಂಕೇತಗಳಿಗೆ ಹಿಂತಿರುಗಿಸಬೇಕಾದ ಡೈನಾಮಿಕ್ ವಸ್ತುವನ್ನು ಲೋಡ್ ಮಾಡಲು, ನಂತರ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಬೇಕಾಗಬಹುದು.

ಔಟ್ಪುಟ್ ಸ್ವರೂಪವು ಅದನ್ನು ಬೆಂಬಲಿಸಿದರೆ ಕ್ರಿಯಾತ್ಮಕ ಚಿಹ್ನೆ ಕೋಷ್ಟಕಕ್ಕೆ ಯಾವ ಚಿಹ್ನೆಗಳನ್ನು ಸೇರಿಸಬೇಕು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಲು ಆವೃತ್ತಿ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನೀವು ಬಳಸಬಹುದು. @ Ref {VERSION} ನಲ್ಲಿ -version-script ನ ವಿವರಣೆಯನ್ನು ನೋಡಿ.

-ಇಬಿ

ದೊಡ್ಡ-ಅಂತ್ಯದ ವಸ್ತುಗಳನ್ನು ಲಿಂಕ್ ಮಾಡಿ. ಇದು ಡೀಫಾಲ್ಟ್ ಔಟ್ಪುಟ್ ಸ್ವರೂಪವನ್ನು ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.

-EL

ಲಿಂಕ್-ಎಂಡ್ಡಿಯನ್ ವಸ್ತುಗಳು. ಇದು ಡೀಫಾಲ್ಟ್ ಔಟ್ಪುಟ್ ಸ್ವರೂಪವನ್ನು ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.

-f

- ಸಹಾಯಕ ಹೆಸರು

ELF ಹಂಚಿದ ವಸ್ತುವನ್ನು ರಚಿಸುವಾಗ, ಆಂತರಿಕ DT_AUXIIARY ಕ್ಷೇತ್ರವನ್ನು ನಿಗದಿತ ಹೆಸರಿಗೆ ಹೊಂದಿಸಿ. ಹಂಚಿದ ವಸ್ತುವಿನ ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕವು ಹಂಚಿದ ವಸ್ತುವಿನ ಹೆಸರಿನ ಚಿಹ್ನೆಯ ಮೇಜಿನ ಮೇಲೆ ಸಹಾಯಕ ಫಿಲ್ಟರ್ ಆಗಿ ಬಳಸಬೇಕೆಂದು ಡೈನಾಮಿಕ್ ಲಿಂಕ್ ಮಾಡುವವನಿಗೆ ಇದು ಹೇಳುತ್ತದೆ.

ಈ ಫಿಲ್ಟರ್ ವಸ್ತುವಿನ ವಿರುದ್ಧ ನೀವು ನಂತರ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಲಿಂಕ್ ಮಾಡಿದರೆ, ನೀವು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಚಲಾಯಿಸುವಾಗ, ಕ್ರಿಯಾತ್ಮಕ ಲಿಂಕ್ ಮಾಡುವವರು DT_AUXILIARY ಕ್ಷೇತ್ರವನ್ನು ನೋಡುತ್ತಾರೆ. ಕ್ರಿಯಾತ್ಮಕ ಲಿಂಕರ್ ಫಿಲ್ಟರ್ ಆಬ್ಜೆಕ್ಟ್ನಿಂದ ಯಾವುದೇ ಚಿಹ್ನೆಗಳನ್ನು ಪರಿಹರಿಸಿದರೆ, ಹಂಚಿದ ಆಬ್ಜೆಕ್ಟ್ ಹೆಸರಿನಲ್ಲಿ ಒಂದು ವ್ಯಾಖ್ಯಾನವಿದ್ದಲ್ಲಿ ಅದು ಮೊದಲು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಒಂದು ವೇಳೆ, ಫಿಲ್ಟರ್ ಆಬ್ಜೆಕ್ಟ್ನಲ್ಲಿನ ವ್ಯಾಖ್ಯಾನದ ಬದಲಿಗೆ ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಹಂಚಿದ ವಸ್ತುವಿನ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. ಆದ್ದರಿಂದ ಹಂಚಿಕೆಯ ವಸ್ತುವಿನ ಹೆಸರನ್ನು ಕೆಲವು ಕಾರ್ಯಗಳ ಪರ್ಯಾಯ ಅನುಷ್ಠಾನವನ್ನು ಒದಗಿಸಲು ಬಳಸಬಹುದು, ಬಹುಶಃ ಡೀಬಗ್ ಮಾಡಲು ಅಥವಾ ಯಂತ್ರ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ.

ಈ ಆಯ್ಕೆಯನ್ನು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಸೂಚಿಸಬಹುದು. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಕಂಡುಬರುವ ಕ್ರಮದಲ್ಲಿ DT_AUXILIARY ನಮೂದುಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ.

-F ಹೆಸರು

- ಫಿಲ್ಟರ್ ಹೆಸರು

ELF ಹಂಚಿದ ವಸ್ತುವನ್ನು ರಚಿಸುವಾಗ, ಆಂತರಿಕ DT_FILTER ಕ್ಷೇತ್ರವನ್ನು ನಿಗದಿತ ಹೆಸರಿಗೆ ಹೊಂದಿಸಿ. ಸೃಷ್ಟಿಯಾದ ವಸ್ತುವಿನ ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕವನ್ನು ಹಂಚಿಕೊಂಡ ವಸ್ತುವಿನ ಹೆಸರಿನ ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕದ ಮೇಲೆ ಫಿಲ್ಟರ್ ಆಗಿ ಬಳಸಬೇಕೆಂದು ಡೈನಾಮಿಕ್ ಲಿಂಕ್ ಅನ್ನು ಹೇಳುತ್ತದೆ.

ಈ ಫಿಲ್ಟರ್ ವಸ್ತುವಿನ ವಿರುದ್ಧ ನೀವು ನಂತರ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಲಿಂಕ್ ಮಾಡಿದರೆ, ನೀವು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಚಲಾಯಿಸುವಾಗ, ಕ್ರಿಯಾತ್ಮಕ ಲಿಂಕ್ ಮಾಡುವವರು DT_FILTER ಕ್ಷೇತ್ರವನ್ನು ನೋಡುತ್ತಾರೆ. ಕ್ರಿಯಾತ್ಮಕ ಕೊಂಡಿಯು ಎಂದಿನಂತೆ ಫಿಲ್ಟರ್ ವಸ್ತುವಿನ ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕದ ಪ್ರಕಾರ ಚಿಹ್ನೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ, ಆದರೆ ಇದು ಹಂಚಿದ ವಸ್ತುವಿನ ಹೆಸರಿನಲ್ಲಿ ಕಂಡುಬರುವ ವ್ಯಾಖ್ಯಾನಗಳಿಗೆ ನಿಜವಾಗಿ ಲಿಂಕ್ ಮಾಡುತ್ತದೆ. ಆದ್ದರಿಂದ ಫಿಲ್ಟರ್ ವಸ್ತುವನ್ನು ಆಬ್ಜೆಕ್ಟ್ ಹೆಸರಿಂದ ಒದಗಿಸಲಾದ ಚಿಹ್ನೆಗಳ ಉಪವಿಭಾಗವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಬಳಸಬಹುದು.

ಇನ್ಪುಟ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಳೆರಡಕ್ಕೂ ಆಬ್ಜೆಕ್ಟ್-ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ಸೂಚಿಸಲು ಕೆಲವು ಹಳೆಯ ಲಿಂಕ್ ಮಾಡುವವರು -F ಆಯ್ಕೆಯನ್ನು ಒಂದು ಸಂಕಲನ ಟೂಲ್ಚೈನ್ ಬಳಸಿ ಬಳಸುತ್ತಾರೆ. ಗ್ನೂ ಲಿಂಕ್ಕರ್ ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ ಇತರ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬಳಸುತ್ತಾರೆ: -b , --format , --oformat ಆಯ್ಕೆಗಳು, ಲಿಂಕ್ದಾರ ಲಿಪಿಯಲ್ಲಿರುವ "TARGET" ಆಜ್ಞೆ, ಮತ್ತು "GNUTARGET" ಪರಿಸರ ವೇರಿಯಬಲ್. ELF ಹಂಚಿದ ವಸ್ತುವನ್ನು ರಚಿಸದೆ ಹೋಗುವಾಗ ಗ್ನೂ ಲಿಂಕ್ಕರ್ -F ಆಯ್ಕೆಯು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ.

-ಫಿನಿ ಹೆಸರು

ELF ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಅಥವಾ ಹಂಚಿಕೊಂಡ ವಸ್ತುವನ್ನು ರಚಿಸುವಾಗ, ಕಾರ್ಯನಿರ್ವಹಣೆಯ ವಿಳಾಸಕ್ಕೆ DT_FINI ಅನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಅಥವಾ ಹಂಚಿದ ವಸ್ತುವನ್ನು ಕೆಳಗಿಳಿಸಿದಾಗ NAME ಕರೆ ಮಾಡಿ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಲಿಂಕ್ ಮಾಡುವ ಕಾರ್ಯವಾಗಿ "_fini" ಅನ್ನು ಲಿಂಕ್ದಾರನು ಬಳಸುತ್ತಾನೆ.

-g

ನಿರ್ಲಕ್ಷಿಸಲಾಗಿದೆ. ಇತರ ಉಪಕರಣಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಒದಗಿಸಲಾಗಿದೆ.

-ಜಿ ಮೌಲ್ಯ

--gpsize = ಮೌಲ್ಯ

ಜಿಪಿ ನೊಂದಣಿ ಗಾತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಬೇಕಾದ ವಸ್ತುಗಳ ಗರಿಷ್ಠ ಗಾತ್ರವನ್ನು ಹೊಂದಿಸಿ. MIPS ECOFF ನಂತಹ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ಗಳಿಗೆ ಮಾತ್ರ ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ, ಇದು ದೊಡ್ಡ ಮತ್ತು ಸಣ್ಣ ವಸ್ತುಗಳನ್ನು ವಿವಿಧ ವಿಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಲು ಬೆಂಬಲಿಸುತ್ತದೆ. ಇದನ್ನು ಇತರ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ಗಳಿಗೆ ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ.

-h ಹೆಸರು

-soname = ಹೆಸರು

ELF ಹಂಚಿದ ವಸ್ತುವನ್ನು ರಚಿಸುವಾಗ, ಆಂತರಿಕ DT_SONAME ಕ್ಷೇತ್ರವನ್ನು ನಿಗದಿತ ಹೆಸರಿಗೆ ಹೊಂದಿಸಿ. ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಒಂದು ಹಂಚಿಕೆಯ ವಸ್ತುವನ್ನು DT_SONAME ಕ್ಷೇತ್ರದೊಂದಿಗೆ ಸಂಯೋಜಿಸಿದಾಗ, ಕಾರ್ಯಗತಗೊಳ್ಳುವಿಕೆಯು ಚಾಲನೆಯಲ್ಲಿರುವಾಗ ಕ್ರಿಯಾತ್ಮಕ ಕೊಂಡಿಯು ಲಿಂಕ್ದಾರನಿಗೆ ನೀಡಿದ ಫೈಲ್ ಹೆಸರನ್ನು ಬಳಸುವ ಬದಲು DT_SONAME ಕ್ಷೇತ್ರದಿಂದ ಸೂಚಿಸಲಾದ ಹಂಚಿದ ವಸ್ತುವನ್ನು ಲೋಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.

-ಐ

ಹೆಚ್ಚಳದ ಲಿಂಕ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ (ಆಯ್ಕೆಯನ್ನು -r ).

ಹೆಸರಿನಲ್ಲಿ

ELF ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಅಥವಾ ಹಂಚಿಕೊಂಡ ವಸ್ತುವನ್ನು ರಚಿಸುವಾಗ, ಕಾರ್ಯನಿರ್ವಹಣೆಯ ವಿಳಾಸಕ್ಕೆ DT_INIT ಅನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಅಥವಾ ಹಂಚಿದ ವಸ್ತುವನ್ನು ಲೋಡ್ ಮಾಡುವಾಗ NAME ಕರೆ ಮಾಡಿ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಲಿಂಕ್ ಮಾಡುವ ಕ್ರಿಯೆಯಾಗಿ ಲಿಂಕ್ದಾರನು "_ನಿಟ್" ಅನ್ನು ಬಳಸುತ್ತಾನೆ.

-l ಆರ್ಕೈವ್

--ಲಿಬರಿ = ಆರ್ಕೈವ್

ಲಿಂಕ್ ಮಾಡಲು ಫೈಲ್ಗಳ ಪಟ್ಟಿಗೆ ಆರ್ಕೈವ್ ಫೈಲ್ ಆರ್ಕೈವ್ ಸೇರಿಸಿ. ಈ ಆಯ್ಕೆಯನ್ನು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಬಾರಿ ಬಳಸಬಹುದು. ld ಸೂಚಿಸಲಾದ ಪ್ರತಿ ಆರ್ಕೈವ್ಗಾಗಿ "libarchive.a" ನ ಘಟನೆಗಳಿಗಾಗಿ ಅದರ ಪಥ-ಪಟ್ಟಿಯನ್ನು ಹುಡುಕುತ್ತದೆ.

ಹಂಚಿದ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬೆಂಬಲಿಸುವ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ld ".a" ಅನ್ನು ಹೊರತುಪಡಿಸಿ ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಸಹ ಹುಡುಕಬಹುದು. ನಿರ್ದಿಷ್ಟವಾಗಿ, ELF ಮತ್ತು SunOS ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ld ".a" ನ ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ".a" ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಗ್ರಂಥಾಲಯಕ್ಕಾಗಿ ಕೋಶವನ್ನು ಹುಡುಕುತ್ತದೆ. ಸಂಪ್ರದಾಯದಂತೆ, ".so" ವಿಸ್ತರಣೆಯು ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ.

ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಸೂಚಿಸಲಾದ ಸ್ಥಳದಲ್ಲಿ ಲಿಂಕ್ ಮಾಡುವವರು ಆರ್ಕೈವ್ ಅನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಹುಡುಕುತ್ತಾರೆ. ಆರ್ಕೈವ್ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿರುವ ಆರ್ಕೈವ್ನ ಮುಂದೆ ಕಂಡುಬರುವ ಕೆಲವು ವಸ್ತುವಿನಲ್ಲಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದರೆ, ಲಿಂಕ್ನಿಂದ ಸೂಕ್ತವಾದ ಫೈಲ್ (ಗಳು) ಅನ್ನು ಲಿಂಕ್ದಾರನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಕಮಾಂಡ್ ಲೈನ್ನಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುವ ವಸ್ತುವಿನಲ್ಲಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಸಂಕೇತವು ಲಿಂಕ್ ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಆರ್ಕೈವ್ ಅನ್ನು ಹುಡುಕಲು ಕಾರಣವಾಗುವುದಿಲ್ಲ.

ನೋಡಿ - ( ಆರ್ಕೈವ್ಗಳನ್ನು ಅನೇಕ ಬಾರಿ ಹುಡುಕಲು ಲಿಂಕ್ದಾರನನ್ನು ಬಲವಂತಪಡಿಸುವ ಒಂದು ಆಯ್ಕೆ.

ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನೀವು ಅದೇ ಆರ್ಕೈವ್ ಅನ್ನು ಅನೇಕ ಬಾರಿ ಪಟ್ಟಿ ಮಾಡಬಹುದು.

ಈ ವಿಧದ ಆರ್ಕೈವ್ ಶೋಧನೆ ಯುನಿಕ್ಸ್ ಲಿಂಕ್ದಾರರಿಗೆ ಪ್ರಮಾಣಿತವಾಗಿದೆ. ಆದಾಗ್ಯೂ, ನೀವು ld onAIX ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ಇದು AIX ಲಿಂಕ್ನ ವರ್ತನೆಯಿಂದ ಭಿನ್ನವಾಗಿದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.

-L ಶೋಧಕ

--ಲಿಬರಿ- ಪಥ್ = ಸರ್ಚ್ಡೈರ್

Ld ಆರ್ಕೈವ್ ಗ್ರಂಥಾಲಯಗಳು ಮತ್ತು ld ನಿಯಂತ್ರಣ ಸ್ಕ್ರಿಪ್ಟ್ಗಳಿಗಾಗಿ ಹುಡುಕುವ ಪಥಗಳ ಪಟ್ಟಿಯ ಹಾದಿ searchdir ಅನ್ನು ಸೇರಿಸಿ. ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಬಾರಿ ಬಳಸಬಹುದು. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕ್ರಮದಲ್ಲಿ ಕೋಶಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತದೆ. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಸೂಚಿಸಲಾದ ಡೈರೆಕ್ಟರಿಗಳು ಡೀಫಾಲ್ಟ್ ಡೈರೆಕ್ಟರಿಗಳ ಮೊದಲು ಹುಡುಕಲಾಗುತ್ತದೆ. ಎಲ್ಲಾ -L ಆಯ್ಕೆಗಳು ಎಲ್ಲಾ -ಎಲ್ ಆಯ್ಕೆಗಳನ್ನು ಅನ್ವಯಿಸುತ್ತವೆ, ಯಾವ ಕ್ರಮದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ ಎನ್ನುವುದನ್ನು ಲೆಕ್ಕಿಸದೆ.

ಸರ್ಚ್ಡೈರ್ "=" ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗಿದ್ದರೆ, ನಂತರ "=" ಅನ್ನು ಸಿಸ್ರೂಟ್ ಪೂರ್ವಪ್ರತ್ಯಯದಿಂದ ಬದಲಿಸಲಾಗುತ್ತದೆ, ಲಿಂಕ್ ಮಾಡುವವನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲ್ಪಟ್ಟಾಗ ಸೂಚಿಸಿದ ಮಾರ್ಗ.

ಡೀಫಾಲ್ಟ್ ಸೆಟ್ ಪಥಗಳು ಹುಡುಕಲ್ಪಟ್ಟವು ( -L ನೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸದೆಯೇ) ಇದು ಎಮ್ಯುಲೇಶನ್ ಮೋಡ್ ld ಅನ್ನು ಬಳಸುತ್ತದೆ, ಮತ್ತು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಅದು ಹೇಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದೆ ಎಂಬುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ.

ಮಾರ್ಗಗಳು "SEARCH_DIR" ಆಜ್ಞೆಯೊಂದಿಗೆ ಲಿಂಕ್ ಲಿಪಿಯಲ್ಲಿ ಸಹ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಹಂತದಲ್ಲಿ ಈ ರೀತಿಯಲ್ಲಿ ನಿರ್ದೇಶಿಸಲಾದ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತದೆ.

-m ಎಮ್ಯುಲೇಶನ್

ಎಮ್ಯುಲೇಶನ್ ಲಿಂಕ್ದಾರನನ್ನು ಅನುಕರಿಸು . ಲಭ್ಯವಿರುವ ಅನುಕರಣಗಳನ್ನು ನೀವು --verbose ಅಥವಾ -V ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಪಟ್ಟಿ ಮಾಡಬಹುದು.

-m ಆಯ್ಕೆಯನ್ನು ಬಳಸದೆ ಇದ್ದಲ್ಲಿ, ಎಮ್ಯುಲೇಶನ್ ಅನ್ನು "LDEMULATION" ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ನಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ, ಅದು ವ್ಯಾಖ್ಯಾನಿಸಿದ್ದರೆ.

ಇಲ್ಲದಿದ್ದರೆ, ಡೀಫಾಲ್ಟ್ ಎಮ್ಯುಲೇಶನ್ ಹೇಗೆ ಲಿಂಕ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದೆ ಎಂಬುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ.

-ಎಂ

- ಪ್ರಿಂಟ್-ಮ್ಯಾಪ್

ಪ್ರಮಾಣಿತ ಔಟ್ಪುಟ್ಗೆ ಲಿಂಕ್ ಮ್ಯಾಪ್ ಮುದ್ರಿಸು. ಲಿಂಕ್ ಮ್ಯಾಪ್ ಕೆಳಗಿನವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಲಿಂಕ್ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ:

*

ವಸ್ತು ಫೈಲ್ಗಳು ಮತ್ತು ಸಂಕೇತಗಳನ್ನು ಮೆಮೊರಿಗೆ ಮ್ಯಾಪ್ ಮಾಡಲಾಗುವುದು.

*

ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಗಳನ್ನು ಹೇಗೆ ಹಂಚಲಾಗುತ್ತದೆ.

*

ಆರ್ಕೈವ್ ಸದಸ್ಯರನ್ನು ಕರೆತರಲು ಕಾರಣವಾದ ಚಿಹ್ನೆಯ ಉಲ್ಲೇಖದೊಂದಿಗೆ ಎಲ್ಲಾ ಆರ್ಕೈವ್ ಸದಸ್ಯರು ಲಿಂಕ್ನಲ್ಲಿ ಸೇರಿದ್ದಾರೆ.

-n

- ನಾಮಕ

ವಿಭಾಗಗಳ ಪುಟ ಜೋಡಣೆಯನ್ನು ಆಫ್ ಮಾಡಿ ಮತ್ತು ಸಾಧ್ಯವಾದರೆ ಔಟ್ಪುಟ್ ಅನ್ನು "NMAGIC" ಎಂದು ಗುರುತಿಸಿ.

-N

--omagic

ಪಠ್ಯ ಮತ್ತು ಡೇಟಾ ವಿಭಾಗಗಳನ್ನು ಓದಬಲ್ಲ ಮತ್ತು ಬರೆಯಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಹೊಂದಿಸಿ. ಅಲ್ಲದೆ, ಡೇಟಾ ವಿಭಾಗವನ್ನು ಪುಟ-ಅಲೈನ್ ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಹಂಚಿದ ಲೈಬ್ರರಿಗಳ ವಿರುದ್ಧ ಲಿಂಕ್ ಮಾಡುವುದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಡಿ. ಔಟ್ಪುಟ್ ಸ್ವರೂಪವು ಯುನಿಕ್ಸ್ ಶೈಲಿಯ ಮಾಯಾ ಸಂಖ್ಯೆಗಳನ್ನು ಬೆಂಬಲಿಸಿದರೆ, ಔಟ್ಪುಟ್ ಅನ್ನು "OMAGIC" ಎಂದು ಗುರುತಿಸಿ.

--no-omagic

ಈ ಆಯ್ಕೆಯು -N ಆಯ್ಕೆಯ ಹೆಚ್ಚಿನ ಪರಿಣಾಮಗಳನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ. ಇದು ಪಠ್ಯ ವಿಭಾಗವನ್ನು ಓದುವ-ಮಾತ್ರ ಎಂದು ಹೊಂದಿಸುತ್ತದೆ, ಮತ್ತು ಡೇಟಾ ಭಾಗವನ್ನು ಪುಟ ಜೋಡಣೆಗೆ ಒತ್ತಾಯಿಸುತ್ತದೆ. ಗಮನಿಸಿ - ಈ ಆಯ್ಕೆಯು ಹಂಚಿದ ಲೈಬ್ರರಿಗಳ ವಿರುದ್ಧ ಲಿಂಕ್ ಮಾಡುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದಿಲ್ಲ. ಇದಕ್ಕಾಗಿ -ಬಿಡಿನಾಮಿಕ್ ಅನ್ನು ಬಳಸಿ.

-ಒ ಔಟ್ಪುಟ್

--output = ಔಟ್ಪುಟ್

Ld ನಿಂದ ಉತ್ಪತ್ತಿಯಾದ ಪ್ರೋಗ್ರಾಂನ ಹೆಸರಾಗಿ ಔಟ್ಪುಟ್ ಅನ್ನು ಬಳಸಿ; ಈ ಆಯ್ಕೆಯನ್ನು ಸೂಚಿಸದಿದ್ದರೆ , a.out ಹೆಸರನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಆದೇಶ "OUTPUT" ಔಟ್ಪುಟ್ ಫೈಲ್ ಹೆಸರನ್ನು ಸಹ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.

-ಒ ಮಟ್ಟ

ಹಂತವು ಶೂನ್ಯ ld ಗಿಂತ ಹೆಚ್ಚಿನ ಸಾಂಖ್ಯಿಕ ಮೌಲ್ಯಗಳನ್ನು ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ತಮಗೊಳಿಸುತ್ತದೆ. ಇದು ಗಮನಾರ್ಹವಾಗಿ ದೀರ್ಘಾವಧಿ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಆದ್ದರಿಂದ ಅಂತಿಮ ಬೈನರಿಗಾಗಿ ಮಾತ್ರ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು.

-q

--ಎಮಿಟ್-ರಿಲೋಕ್ಗಳು

ಸಂಪೂರ್ಣ ಸಂಪರ್ಕಿತ ಎಕ್ಸಿಕ್ಯೂಟಬಬಬಬಲ್ಸ್ನಲ್ಲಿರುವ ಸ್ಥಳಾಂತರ ವಿಭಾಗಗಳು ಮತ್ತು ವಿಷಯಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಿ. ಪೋಸ್ಟ್ ಲಿಂಕ್ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಆಪ್ಟಿಮೈಜೇಷನ್ ಪರಿಕರಗಳು ಕಾರ್ಯಗತಗೊಳ್ಳುವವರ ಸರಿಯಾದ ಮಾರ್ಪಾಡುಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಈ ಮಾಹಿತಿಯನ್ನು ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಇದು ದೊಡ್ಡ ಕಾರ್ಯಗತಗೊಳ್ಳುವಿಕೆಯಲ್ಲಿ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ.

ಈ ಆಯ್ಕೆಯು ಪ್ರಸ್ತುತ ELF ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಬೆಂಬಲಿತವಾಗಿದೆ.

-ಆರ್

--relocateable

ಸ್ಥಳಾಂತರಿಸಬಹುದಾದ ಔಟ್ಪುಟ್ ಅನ್ನು ರಚಿಸಿ --- ಅಂದರೆ, ಒಂದು ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಅದು ಎಲ್ಡಿಗೆ ಇನ್ಪುಟ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದನ್ನು ಹೆಚ್ಚಾಗಿ ಭಾಗಶಃ ಲಿಂಕ್ ಮಾಡುವಿಕೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಒಂದು ಅಡ್ಡ ಪರಿಣಾಮವಾಗಿ, ಪ್ರಮಾಣಿತ ಯುನಿಕ್ಸ್ ಮ್ಯಾಜಿಕ್ ಸಂಖ್ಯೆಗಳನ್ನು ಬೆಂಬಲಿಸುವ ಪರಿಸರದಲ್ಲಿ, ಈ ಆಯ್ಕೆಯು ಔಟ್ಪುಟ್ ಫೈಲ್ನ ಮಾಯಾ ಸಂಖ್ಯೆ "OMAGIC" ಗೆ ಹೊಂದಿಸುತ್ತದೆ. ಈ ಆಯ್ಕೆಯನ್ನು ಸೂಚಿಸದಿದ್ದಲ್ಲಿ, ಒಂದು ಸಂಪೂರ್ಣ ಕಡತವನ್ನು ಉತ್ಪಾದಿಸಲಾಗುತ್ತದೆ. C ++ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಲಿಂಕ್ ಮಾಡುವಾಗ, ಈ ಆಯ್ಕೆಯು ನಿರ್ಮಾಣಕಾರರಿಗೆ ಉಲ್ಲೇಖಗಳನ್ನು ಪರಿಹರಿಸುವುದಿಲ್ಲ; ಅದನ್ನು ಮಾಡಲು, -ಉರ್ .

ಇನ್ಪುಟ್ ಫೈಲ್ಗೆ ಔಟ್ಪುಟ್ ಫೈಲ್ನಂತೆಯೇ ಅದೇ ಸ್ವರೂಪವಿಲ್ಲದಿದ್ದರೆ, ಆ ಇನ್ಪುಟ್ ಫೈಲ್ ಯಾವುದೇ ಸ್ಥಳಾಂತರಗಳನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ ಭಾಗಶಃ ಲಿಂಕ್ ಮಾಡುವಿಕೆಯನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ. ವಿಭಿನ್ನ ಔಟ್ಪುಟ್ ಸ್ವರೂಪಗಳು ಮತ್ತಷ್ಟು ನಿರ್ಬಂಧಗಳನ್ನು ಹೊಂದಿವೆ; ಉದಾಹರಣೆಗೆ ಕೆಲವು "a.out" ಆಧಾರಿತ ಸ್ವರೂಪಗಳು ಇತರ ಸ್ವರೂಪಗಳಲ್ಲಿ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳೊಂದಿಗೆ ಭಾಗಶಃ ಲಿಂಕ್ ಮಾಡುವುದನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.

ಈ ಆಯ್ಕೆಯು -i ಯಂತೆಯೇ ಅದೇ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ.

-ಆರ್ ಫೈಲ್ಹೆಸರು

--just-symbols = filename

ಕಡತನಾಮದಿಂದ ಚಿಹ್ನೆ ಹೆಸರುಗಳು ಮತ್ತು ಅವುಗಳ ವಿಳಾಸಗಳನ್ನು ಓದಿ, ಆದರೆ ಅದನ್ನು ಸ್ಥಳಾಂತರಿಸಬೇಡಿ ಅಥವಾ ಅದನ್ನು ಉತ್ಪಾದನೆಯಲ್ಲಿ ಸೇರಿಸಿಕೊಳ್ಳಬೇಡಿ. ಇದು ನಿಮ್ಮ ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ಇತರ ಕಾರ್ಯಕ್ರಮಗಳಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಮೆಮೊರಿಯ ಸಂಪೂರ್ಣ ಸ್ಥಳಗಳಿಗೆ ಸಾಂಕೇತಿಕವಾಗಿ ಉಲ್ಲೇಖಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಬಳಸಬಹುದು.

ಇತರ ಇಎಫ್ಎಫ್ ಲಿಂಕ್ದಾರರೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಾಗಿ, -ಆರ್ ಆಯ್ಕೆಯು ಫೈಲ್ ಹೆಸರಿನ ಬದಲಾಗಿ ಕೋಶದ ಹೆಸರನ್ನು ಅನುಸರಿಸಿದರೆ, ಅದನ್ನು -rpath ಆಯ್ಕೆಯಂತೆ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

-s

-ಸ್ಟ್ರಿಪ್-ಎಲ್ಲ

ಔಟ್ಪುಟ್ ಫೈಲ್ನಿಂದ ಎಲ್ಲಾ ಸಂಕೇತ ಮಾಹಿತಿಯನ್ನು ಬಿಟ್ಟುಬಿಡಿ.

-ಎಸ್

--ಸ್ಟ್ರಿಪ್-ಡಿಬಗ್

ಔಟ್ಪುಟ್ ಫೈಲ್ನಿಂದ ಡೀಬಗರ್ ಚಿಹ್ನೆ ಮಾಹಿತಿಯನ್ನು (ಆದರೆ ಎಲ್ಲಾ ಚಿಹ್ನೆಗಳು ಅಲ್ಲ) ಬಿಟ್ಟುಬಿಡಿ.

-t

--ಜಾಡಿನ

Ld ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದಂತೆ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳ ಹೆಸರುಗಳನ್ನು ಮುದ್ರಿಸಿ.

-T ಸ್ಕ್ರಿಪ್ಟ್ಫೈಲ್

--script = scriptfile

ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ನಂತೆ ಲಿಪಿಯನ್ನು ಬಳಸಿ. ಈ ಸ್ಕ್ರಿಪ್ಟ್ ld ನ ಪೂರ್ವನಿಯೋಜಿತ ಲಿಂಕರ್ ಲಿಪಿಯನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ (ಇದಕ್ಕೆ ಸೇರಿಸುವ ಬದಲು), ಆದ್ದರಿಂದ ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ವಿವರಿಸಲು ಅಗತ್ಯವಾದ ಎಲ್ಲವನ್ನೂ ಕಮಾಂಡ್ಫೈಲ್ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು. ಪ್ರಸಕ್ತ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲವಾದರೆ, "ld" ಇದು ಯಾವುದೇ ಹಿಂದಿನ -L ಆಯ್ಕೆಗಳಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕೋಶಗಳಲ್ಲಿ ಕಾಣುತ್ತದೆ. ಬಹು- ಟಿ ಆಯ್ಕೆಗಳು ಸಂಗ್ರಹಗೊಳ್ಳುತ್ತವೆ.

-u ಚಿಹ್ನೆ

- ಸಮನ್ವಯಗೊಳಿಸಿದ = ಚಿಹ್ನೆ

ಫೋರ್ಸ್ ಚಿಹ್ನೆಯು ಔಟ್ಪುಟ್ ಫೈಲ್ನಲ್ಲಿ ನಮೂದಿಸದ ಚಿಹ್ನೆಯಾಗಿ ಪ್ರವೇಶಿಸಲು. ಇದನ್ನು ಮಾಡುವುದರಿಂದ, ಉದಾಹರಣೆಗೆ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿಗಳಿಂದ ಹೆಚ್ಚುವರಿ ಮಾಡ್ಯೂಲ್ಗಳ ಲಿಂಕ್ ಅನ್ನು ಟ್ರಿಗ್ಗರ್ ಮಾಡಬಹುದು. -ಯು ಹೆಚ್ಚುವರಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ನಮೂದಿಸಲು ವಿಭಿನ್ನ ಆಯ್ಕೆಯ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳೊಂದಿಗೆ ಪುನರಾವರ್ತಿಸಬಹುದು. ಈ ಆಯ್ಕೆಯು "EXTERN" ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಕಮಾಂಡ್ಗೆ ಸಮಾನವಾಗಿದೆ.

-ಉರ್

C ++ ಪ್ರೋಗ್ರಾಂಗಳಿಗಿಂತ ಬೇರೆಯದರಲ್ಲಿ, ಈ ಆಯ್ಕೆಯು -r ಗೆ ಸಮನಾಗಿರುತ್ತದೆ: ಅದು ಮರುರೂಪಗೊಳ್ಳುವ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ --- ಅಂದರೆ, ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ld ಗೆ ಇನ್ಪುಟ್ ಆಗಿ ಪರಿವರ್ತಿಸಬಹುದು. C ++ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಲಿಂಕ್ ಮಾಡುವಾಗ, -ಆರ್ ಅವರು -ಆರ್ ಎಂದು ಭಿನ್ನವಾಗಿ, ಕನ್ಸ್ಟ್ರಕ್ಟರ್ಗಳಿಗೆ ಉಲ್ಲೇಖಗಳನ್ನು ಪರಿಹರಿಸುತ್ತಾರೆ. -Ur ನೊಂದಿಗೆ ಸಂಬಂಧಿಸಿರುವ ಫೈಲ್ಗಳಲ್ಲಿ -Ur ಬಳಸಲು ಇದು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ; ನಿರ್ಮಾಣಕಾರ ಕೋಷ್ಟಕವನ್ನು ನಿರ್ಮಿಸಿದ ನಂತರ, ಇದನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ. -ಅಥವಾ ಕೊನೆಯ ಭಾಗಶಃ ಲಿಂಕ್ಗಾಗಿ, ಮತ್ತು ಇತರರಿಗೆ -r ಮಾತ್ರ .

- ಏಕೈಕ [= SECTION ]

SECTION ಗೆ ಸರಿಹೊಂದುವ ಪ್ರತಿ ಇನ್ಪುಟ್ ವಿಭಾಗಕ್ಕೆ ಪ್ರತ್ಯೇಕ ಔಟ್ಪುಟ್ ವಿಭಾಗವನ್ನು ರಚಿಸುತ್ತದೆ ಅಥವಾ ಐಚ್ಛಿಕ ವೈಲ್ಡ್ಕಾರ್ಡ್ SECTION ಆರ್ಗ್ಯುಮೆಂಟ್ ಕಳೆದುಕೊಂಡರೆ, ಪ್ರತಿ ಅನಾಥ ಇನ್ಪುಟ್ ವಿಭಾಗಕ್ಕೆ. ಒಂದು ಅನಾಥ ವಿಭಾಗವು ಲಿಂಕರ್ ಲಿಪಿಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟವಾಗಿ ಉಲ್ಲೇಖಿಸಲ್ಪಟ್ಟಿಲ್ಲ. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಅನೇಕ ಬಾರಿ ಬಳಸಬಹುದು; ಇನ್ಪುಟ್ ವಿಭಾಗಗಳ ಸಾಮಾನ್ಯ ವಿಲೀನಗೊಳಿಸುವಿಕೆಯು ಅದೇ ಹೆಸರಿನೊಂದಿಗೆ, ಲಿಂಕರ್ ಲಿಪಿಯಲ್ಲಿನ ಔಟ್ಪುಟ್ ವಿಭಾಗದ ಕಾರ್ಯಯೋಜನೆಗಳನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ.

-v

- ಆವೃತ್ತಿ

-ವಿ

Ld ಗಾಗಿ ಆವೃತ್ತಿ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರದರ್ಶಿಸಿ. -V ಆಯ್ಕೆಯು ಬೆಂಬಲಿತ ಅನುಕ್ರಮಗಳನ್ನು ಸಹ ಪಟ್ಟಿಮಾಡುತ್ತದೆ.

-X

- ಡಿಸ್ಕ್-ಎಲ್ಲಾ

ಎಲ್ಲಾ ಸ್ಥಳೀಯ ಚಿಹ್ನೆಗಳನ್ನು ಅಳಿಸಿ.

-X

- ಡಿಸ್ಕಾರ್ಡ್-ಸ್ಥಳೀಯರು

ಎಲ್ಲಾ ತಾತ್ಕಾಲಿಕ ಸ್ಥಳೀಯ ಚಿಹ್ನೆಗಳನ್ನು ಅಳಿಸಿ. ಹೆಚ್ಚಿನ ಗುರಿಗಳಿಗೆ, ಇದು ಎಲ್ಲಾ ಸ್ಥಳೀಯ ಸಂಕೇತಗಳಾಗಿದ್ದು, ಅವರ ಹೆಸರುಗಳು L ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.

-y ಚಿಹ್ನೆ

--trace- ಚಿಹ್ನೆ = ಚಿಹ್ನೆ

ಚಿಹ್ನೆ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಪ್ರತಿ ಲಿಂಕ್ ಫೈಲ್ನ ಹೆಸರನ್ನು ಮುದ್ರಿಸಿ. ಈ ಆಯ್ಕೆಯನ್ನು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಬಾರಿ ನೀಡಬಹುದು. ಅನೇಕ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಅಂಡರ್ಸ್ಕೋರ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸುವುದು ಅವಶ್ಯಕ.

ನಿಮ್ಮ ಲಿಂಕ್ನಲ್ಲಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಯನ್ನು ನೀವು ಹೊಂದಿರುವಾಗ ಈ ಆಯ್ಕೆಯು ಉಪಯುಕ್ತವಾಗಿದೆ ಆದರೆ ಉಲ್ಲೇಖ ಎಲ್ಲಿಂದ ಬರುತ್ತಿದೆ ಎಂದು ಗೊತ್ತಿಲ್ಲ.

-Y ಮಾರ್ಗ

ಡೀಫಾಲ್ಟ್ ಲೈಬ್ರರಿ ಹುಡುಕಾಟ ಪಥಕ್ಕೆ ಮಾರ್ಗವನ್ನು ಸೇರಿಸಿ. ಈ ಆಯ್ಕೆಯು ಸೋಲಾರಿಸ್ ಹೊಂದಾಣಿಕೆಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ.

-z ಕೀವರ್ಡ್

ಗುರುತಿಸಲ್ಪಟ್ಟ ಕೀವರ್ಡ್ಗಳು "ಮೊದಲನೆಯದು", "ಇಂಟರ್ಪೋಸ್", "ಲೋಡ್ಫ್ಲಟ್", "ನೋಡ್ಫಾಲ್ಟ್ಲಿಬ್", "ನೋಡ್ಲೆಟ್", "ನೋಡ್ಲೋಪೇನ್", "ನೋಡಂಪ್", "ಈಗ", "ಮೂಲ", "ಕಾಂಬ್ರೆಲೋಕ್", "ನೊಕೊಂಬ್ರೆಕ್" ಮತ್ತು " ". ಇತರ ಕೀವರ್ಡ್ಗಳು ಸೋಲಾರಿಸ್ ಹೊಂದಾಣಿಕೆಯ ಕಡೆಗೆ ನಿರ್ಲಕ್ಷಿಸಲ್ಪಡುತ್ತವೆ. "ಇನ್ನಿಟ್ ಫರ್ಸ್ಟ್" ವಸ್ತುವು ಇತರ ಯಾವುದೇ ವಸ್ತುಗಳಿಗೆ ಮುಂಚಿತವಾಗಿ ರನ್ಟೈಮ್ನಲ್ಲಿ ಮೊದಲು ಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ. "ಸಂವಹನ" ಚಿಹ್ನೆಯು ಅದರ ಸಂಕೇತ ಚಿಹ್ನೆಯು ಎಲ್ಲಾ ಚಿಹ್ನೆಗಳಿಗೂ ಮುಂಚಿತವಾಗಿ ವಿಭಾಜಿಸುವ ವಸ್ತುವಾಗಿದೆ ಆದರೆ ಪ್ರಾಥಮಿಕ ಎಕ್ಸಿಕ್ಯೂಬಲ್ ಮಾಡಬಲ್ಲದು ಎಂದು ಸೂಚಿಸುತ್ತದೆ. "loadfltr" ಅದರ ಫಿಲ್ಟಿಯನ್ನು ರನ್ಟೈಮ್ನಲ್ಲಿ ತಕ್ಷಣವೇ ಸಂಸ್ಕರಿಸುವ ವಸ್ತು ಎಂದು ಗುರುತಿಸುತ್ತದೆ. "nodefaultlib" ಈ ವಸ್ತುವಿನ ಅಧೀನದ ಹುಡುಕಾಟವನ್ನು ನಿರ್ಲಕ್ಷಿಸುವ ವಸ್ತುವನ್ನು ಗುರುತಿಸುತ್ತದೆ ಯಾವುದೇ ಪೂರ್ವನಿಯೋಜಿತ ಗ್ರಂಥಾಲಯದ ಶೋಧ ಪಥಗಳು. "ನೋಡ್ಲೆಟ್" ಗುರುತುಗಳು ರನ್ಟೈಮ್ನಲ್ಲಿ ವಸ್ತುವನ್ನು ಕೆಳಗಿಳಿಸಬಾರದು. "ನೋಪ್ಲೋಪೇನ್" ವಸ್ತುವು "dlopen" ಗೆ ಲಭ್ಯವಿಲ್ಲ ಎಂದು ಗುರುತಿಸುತ್ತದೆ. "ನಾಡಂಪ್" ಮಾರ್ಕ್ಸ್ ವಸ್ತುವನ್ನು "dldump" ಗಳಿಂದ ಎಸೆಯಲಾಗುವುದಿಲ್ಲ. "ಈಗ" ವಸ್ತುವನ್ನು ನಾಜೂಕಿಲ್ಲದ ರನ್ಟೈಮ್ ಬೈಂಡಿಂಗ್ನೊಂದಿಗೆ ಗುರುತಿಸುತ್ತದೆ. "ಮೂಲ" ಮಾರ್ಕ್ಸ್ ವಸ್ತುವು $ ORIGIN ಅನ್ನು ಹೊಂದಿರಬಹುದು. "defs" ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ. "muldefs" ಬಹು ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. "ಕಾಂಬ್ರೆಲೊಕ್" ಅನೇಕ ರಿಲೋಕ್ ವಿಭಾಗಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ ಮತ್ತು ಕ್ರಿಯಾತ್ಮಕ ಚಿಹ್ನೆ ವೀಕ್ಷಣೆಯನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವಿಕೆಯನ್ನು ಅವುಗಳು ಮಾಡುತ್ತವೆ.

"nocombreloc" ಅನೇಕ ರಿಲೋಕ್ ವಿಭಾಗಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸುತ್ತದೆ. "nocopyreloc" ನಕಲು ಮರುಮಾರಾಟದ ಉತ್ಪಾದನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.

- ( ಆರ್ಕೈವ್ಸ್ -)

- ಸ್ಟಾರ್ ಗುಂಪು ಸಮೂಹಗಳು - ಗುಂಪು

ದಾಖಲೆಗಳು ಆರ್ಕೈವ್ ಫೈಲ್ಗಳ ಪಟ್ಟಿಯಾಗಿರಬೇಕು. ಅವರು ಸ್ಪಷ್ಟ ಫೈಲ್ ಹೆಸರುಗಳು, ಅಥವಾ -ಎಲ್ ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿರಬಹುದು.

ಯಾವುದೇ ಹೊಸ ಸ್ಪಷ್ಟೀಕರಿಸದ ಉಲ್ಲೇಖಗಳು ರಚಿಸಲ್ಪಡುವುದಿಲ್ಲ ಎಂದು ಸೂಚಿಸಲಾದ ಆರ್ಕೈವ್ಗಳನ್ನು ಪದೇ ಪದೇ ಹುಡುಕಲಾಗುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಕಮಾಂಡ್ ಸಾಲಿನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕ್ರಮದಲ್ಲಿ ಒಮ್ಮೆ ಆರ್ಕೈವ್ ಅನ್ನು ಮಾತ್ರ ಹುಡುಕಲಾಗುತ್ತದೆ. ಕಮಾಂಡ್ ಲೈನ್ನಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಒಂದು ಆರ್ಕೈವ್ನ ವಸ್ತುವಿನಿಂದ ಉಲ್ಲೇಖಿಸಲ್ಪಟ್ಟಿರುವ ಸ್ಪಷ್ಟೀಕರಿಸದ ಸಂಕೇತವನ್ನು ಪರಿಹರಿಸಲು ಆ ಆರ್ಕೈವ್ನಲ್ಲಿನ ಚಿಹ್ನೆಯು ಅಗತ್ಯವಾಗಿದ್ದರೆ, ಲಿಂಕ್ ಅನ್ನು ಆ ಉಲ್ಲೇಖವನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಸಂಚಿಕೆಗಳನ್ನು ವರ್ಗೀಕರಿಸುವ ಮೂಲಕ, ಎಲ್ಲಾ ಸಂಭವನೀಯ ಉಲ್ಲೇಖಗಳು ಪರಿಹರಿಸಲ್ಪಡುವವರೆಗೂ ಅವರು ಮತ್ತೆ ಪದೇ ಪದೇ ಹುಡುಕಬಹುದು.

ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಗಮನಾರ್ಹ ಕಾರ್ಯಕ್ಷಮತೆ ವೆಚ್ಚವನ್ನು ಹೊಂದಿದೆ. ಎರಡು ಅಥವಾ ಹೆಚ್ಚಿನ ದಾಖಲೆಗಳ ನಡುವೆ ತಪ್ಪಿಸಿಕೊಳ್ಳಲಾಗದ ವೃತ್ತಾಕಾರದ ಉಲ್ಲೇಖಗಳು ಇರುವಾಗ ಮಾತ್ರ ಅದನ್ನು ಬಳಸುವುದು ಉತ್ತಮ.

--accept-unknown-input-arch

--no-accept-unknown-input-arch

ಇನ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಲಿಂಕ್ದಾರನನ್ನು ಯಾರ ಆರ್ಕಿಟೆಕ್ಚರ್ ಗುರುತಿಸಲಾಗುವುದಿಲ್ಲ ಎಂದು ತಿಳಿಸುತ್ತದೆ. ಬಳಕೆದಾರನು ಏನು ಮಾಡುತ್ತಿರುವನೆಂಬುದು ತಿಳಿದಿರುತ್ತದೆ ಮತ್ತು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಈ ಅಪರಿಚಿತ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳಲ್ಲಿ ಲಿಂಕ್ ಮಾಡಲು ಬಯಸುತ್ತದೆ ಎಂಬುದು ಊಹೆ. ಬಿಡುಗಡೆ 2.14 ರ ಮೊದಲು ಲಿಂಕ್ದಾರರ ಡೀಫಾಲ್ಟ್ ನಡವಳಿಕೆಯಾಗಿತ್ತು. ಬಿಡುಗಡೆಯಿಂದ 2.14 ರ ಪೂರ್ವನಿಯೋಜಿತ ನಡವಳಿಕೆಯು ಅಂತಹ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ತಿರಸ್ಕರಿಸುವುದು, ಮತ್ತು ಆದ್ದರಿಂದ ಹಳೆಯ-ನಡವಳಿಕೆಯನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು --accept-unknown-input-arch ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

-ಸರ್ಸರ್ ಕೀವರ್ಡ್

ಈ ಆಯ್ಕೆಯನ್ನು ಸನ್ಓಎಸ್ ಹೊಂದಾಣಿಕೆಯ ಕಡೆಗಣಿಸಲಾಗುತ್ತದೆ.

-ಬಿಡಿನಾಮಿಕ್

-dy

-ಅತಿಥಿಯಾಗಿ ಹಂಚಲಾಗಿದೆ

ಕ್ರಿಯಾತ್ಮಕ ಗ್ರಂಥಾಲಯಗಳ ವಿರುದ್ಧ ಲಿಂಕ್ ಮಾಡಿ. ಹಂಚಿದ ಗ್ರಂಥಾಲಯಗಳು ಬೆಂಬಲಿತವಾದ ವೇದಿಕೆಗಳಲ್ಲಿ ಮಾತ್ರ ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ. ಈ ಆಯ್ಕೆಯು ಸಾಮಾನ್ಯವಾಗಿ ಅಂತಹ ವೇದಿಕೆಗಳಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಆಗಿರುತ್ತದೆ. ಈ ಆಯ್ಕೆಯ ವಿವಿಧ ರೂಪಾಂತರಗಳು ವಿವಿಧ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಹೊಂದುವಂತಹವುಗಳಾಗಿವೆ. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಅನೇಕ ಬಾರಿ ಬಳಸಬಹುದು: ಇದು -l ಆಯ್ಕೆಗಳನ್ನು ಅನುಸರಿಸುವ ಗ್ರಂಥಾಲಯವನ್ನು ಹುಡುಕುತ್ತದೆ.

-ಬ್ಗ್ರೂಪ್

ಕ್ರಿಯಾತ್ಮಕ ವಿಭಾಗದಲ್ಲಿ "DT_FLAGS_1" ನಮೂದು "ಫ್ಲ್ಯಾಷ್" ಅನ್ನು ಹೊಂದಿಸಿ. ಇದು ಈ ಆಬ್ಜೆಕ್ಟ್ನಲ್ಲಿನ ವೀಕ್ಷಣಗಳನ್ನು ನಿರ್ವಹಿಸಲು ರನ್ಟೈಮ್ ಲಿಂಕ್ ಮಾಡುವಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಅದರ ಅವಲಂಬನೆಯು ಗುಂಪಿನೊಳಗೆ ಮಾತ್ರ ನಿರ್ವಹಿಸಲ್ಪಡುತ್ತದೆ. --no-undefined ಸೂಚಿಸಲಾಗಿದೆ. ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬೆಂಬಲಿಸುವ ELF ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಈ ಆಯ್ಕೆಯು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ.

-ಬಿಸ್ಟಟಿಕ್

-dn

-ಅನ್_ಶೇರ್ಡ್

ಸ್ಥಾಯೀ

ಹಂಚಿದ ಗ್ರಂಥಾಲಯಗಳ ವಿರುದ್ಧ ಲಿಂಕ್ ಮಾಡಬೇಡಿ. ಹಂಚಿದ ಗ್ರಂಥಾಲಯಗಳು ಬೆಂಬಲಿತವಾದ ವೇದಿಕೆಗಳಲ್ಲಿ ಮಾತ್ರ ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ. ಈ ಆಯ್ಕೆಯ ವಿವಿಧ ರೂಪಾಂತರಗಳು ವಿವಿಧ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಹೊಂದುವಂತಹವುಗಳಾಗಿವೆ. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಅನೇಕ ಬಾರಿ ಬಳಸಬಹುದು: ಇದು -l ಆಯ್ಕೆಗಳನ್ನು ಅನುಸರಿಸುವ ಗ್ರಂಥಾಲಯವನ್ನು ಹುಡುಕುತ್ತದೆ.

-ಬೈಸ್ಮಾಲಿಜಿಕ್

ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯವನ್ನು ರಚಿಸುವಾಗ, ಜಾಗತಿಕ ಚಿಹ್ನೆಗಳನ್ನು ಉಲ್ಲೇಖಿಸಿದ ಲೈಬ್ರರಿಯೊಳಗೆ ವ್ಯಾಖ್ಯಾನಿಸಿ, ಯಾವುದಾದರೂ ಇದ್ದರೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಹಂಚಿಕೊಳ್ಳಲಾದ ಗ್ರಂಥಾಲಯದೊಳಗೆ ವ್ಯಾಖ್ಯಾನವನ್ನು ಅತಿಕ್ರಮಿಸಲು ಒಂದು ಹಂಚಿದ ಲೈಬ್ರರಿಯ ವಿರುದ್ಧ ಲಿಂಕ್ ಮಾಡಿದ ಪ್ರೋಗ್ರಾಂಗೆ ಸಾಧ್ಯವಿದೆ. ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬೆಂಬಲಿಸುವ ELFplatforms ನಲ್ಲಿ ಈ ಆಯ್ಕೆಯು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ.

- ಚೆಕ್-ವಿಭಾಗಗಳು

--no-check-sections

ಯಾವುದಾದರೂ ಅತಿಕ್ರಮಣವಾಗಿದೆಯೇ ಎಂದು ನೋಡಲು ನಿಯೋಜಿಸಲಾದ ನಂತರ ವಿಭಾಗ ವಿಳಾಸಗಳನ್ನು ಪರಿಶೀಲಿಸದಿರುವ ಲಿಂಕ್ದಾರನನ್ನು ಕೇಳುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಲಿಂಕರ್ ಈ ಚೆಕ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಮತ್ತು ಅದು ಯಾವುದೇ ಅತಿಕ್ರಮಣಗಳನ್ನು ಕಂಡುಕೊಂಡರೆ ಅದು ಸೂಕ್ತ ದೋಷ ಸಂದೇಶಗಳನ್ನು ಉತ್ಪತ್ತಿ ಮಾಡುತ್ತದೆ. ಲಿಂಕ್ದಾರರಿಗೆ ತಿಳಿದಿದೆ, ಮತ್ತು ಓವರ್ಲೇಗಳಲ್ಲಿ ವಿಭಾಗಗಳಿಗೆ ಅನುಮತಿಗಳನ್ನು ನೀಡುತ್ತದೆ. ಕಮಾಂಡ್ ಲೈನ್ ಸ್ವಿಚ್ - ಚೆಕ್-ವಿಭಾಗಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಡೀಫಾಲ್ಟ್ ನಡವಳಿಕೆಯನ್ನು ಪುನಃಸ್ಥಾಪಿಸಬಹುದು.

--cref

ಔಟ್ಪುಟ್ ಒಂದು ಕ್ರಾಸ್ ರೆಫರೆನ್ಸ್ ಟೇಬಲ್. ಲಿಂಕ್ ಮಾಡುವ ನಕ್ಷೆ ಫೈಲ್ ಅನ್ನು ರಚಿಸಿದ್ದರೆ, ಕ್ರಾಸ್ ರೆಫರೆನ್ಸ್ ಟೇಬಲ್ ಅನ್ನು ಮ್ಯಾಪ್ ಫೈಲ್ಗೆ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. ಇಲ್ಲವಾದಲ್ಲಿ, ಇದು ಪ್ರಮಾಣಿತ ಉತ್ಪಾದನೆಯಲ್ಲಿ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ.

ಮೇಜಿನ ಸ್ವರೂಪವು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸರಳವಾಗಿದೆ, ಹೀಗಾಗಿ ಅಗತ್ಯವಿದ್ದರೆ ಸ್ಕ್ರಿಪ್ಟ್ನಿಂದ ಸುಲಭವಾಗಿ ಸಂಸ್ಕರಿಸಬಹುದು. ಚಿಹ್ನೆಗಳನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ, ಹೆಸರಿನಿಂದ ವಿಂಗಡಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಚಿಹ್ನೆಗಾಗಿ, ಫೈಲ್ ಹೆಸರುಗಳ ಪಟ್ಟಿ ನೀಡಲಾಗಿದೆ. ಸಂಕೇತವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದರೆ, ಪಟ್ಟಿಮಾಡಲಾದ ಮೊದಲ ಫೈಲ್ ವ್ಯಾಖ್ಯಾನದ ಸ್ಥಳವಾಗಿದೆ. ಉಳಿದ ಫೈಲ್ಗಳು ಸಂಕೇತವನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತವೆ.

--no-define-common

ಈ ಆಯ್ಕೆಯು ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಗಳಿಗೆ ವಿಳಾಸಗಳ ನಿಯೋಜನೆಯನ್ನು ಪ್ರತಿಬಂಧಿಸುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಆದೇಶ "INHIBIT_COMMON_ALLOCATION" ಒಂದೇ ಪರಿಣಾಮವನ್ನು ಹೊಂದಿದೆ.

--no-define-common ಆಯ್ಕೆಯು ಔಟ್ಪುಟ್ ಫೈಲ್ ಕೌಟುಂಬಿಕತೆ ಆಯ್ಕೆಯಿಂದ ಸಾಮಾನ್ಯ ಸಂಕೇತಗಳಿಗೆ ವಿಳಾಸಗಳನ್ನು ನಿಯೋಜಿಸಲು ನಿರ್ಧಾರವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ ರಿಮೋಕೇಟ್ ಮಾಡದಿರುವ ಔಟ್ಪುಟ್ ಪ್ರಕಾರವು ಸಾಮಾನ್ಯ ಸಂಕೇತಗಳಿಗೆ ವಿಳಾಸಗಳನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ. ಬಳಸಿಕೊಂಡು --no-define-common ಒಂದು ಹಂಚಿದ ಲೈಬ್ರರಿಯಿಂದ ಉಲ್ಲೇಖಿಸಲಾದ ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಗಳನ್ನು ಮುಖ್ಯ ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ಮಾತ್ರ ವಿಳಾಸಗಳನ್ನು ನಿಯೋಜಿಸಲಾಗುವುದು. ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯದಲ್ಲಿ ಬಳಕೆಯಾಗದ ನಕಲಿ ಜಾಗವನ್ನು ಇದು ತೆಗೆದುಹಾಕುತ್ತದೆ ಮತ್ತು ರನ್ಟೈಮ್ ಸಿಂಬಲ್ ರೆಸೊಲ್ಯೂಷನ್ಗಾಗಿ ವಿಶೇಷವಾದ ಹುಡುಕಾಟ ಪಥಗಳೊಂದಿಗೆ ಅನೇಕ ಕ್ರಿಯಾತ್ಮಕ ಮಾಡ್ಯೂಲ್ಗಳು ಇರುವಾಗ ತಪ್ಪು ನಕಲುಗೆ ಪರಿಹಾರ ಮಾಡುವ ಯಾವುದೇ ಸಂಭವನೀಯ ಗೊಂದಲವನ್ನು ಕೂಡಾ ತಡೆಯುತ್ತದೆ.

--defsym ಸಂಕೇತ = ಅಭಿವ್ಯಕ್ತಿ

ಅಭಿವ್ಯಕ್ತಿ ನೀಡಿದ ಸಂಪೂರ್ಣ ವಿಳಾಸವನ್ನು ಹೊಂದಿರುವ ಔಟ್ಪುಟ್ ಫೈಲ್ನಲ್ಲಿ ಜಾಗತಿಕ ಚಿಹ್ನೆಯನ್ನು ರಚಿಸಿ. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಅನೇಕ ಚಿಹ್ನೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಹಲವು ಬಾರಿ ಬಳಸಬಹುದು. ಈ ಸನ್ನಿವೇಶದಲ್ಲಿ ಅಭಿವ್ಯಕ್ತಿಗೆ ಸೀಮಿತ ರೂಪದ ಅಂಕಣವನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ: ನೀವು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸ್ಥಿರ ಅಥವಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಂಕೇತದ ಹೆಸರನ್ನು ನೀಡಬಹುದು, ಅಥವಾ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಅಥವಾ ಚಿಹ್ನೆಗಳನ್ನು ಸೇರಿಸಲು ಅಥವಾ ಕಳೆಯಲು "+" ಮತ್ತು "-" ಬಳಸಿ. ನಿಮಗೆ ಹೆಚ್ಚು ವಿಸ್ತಾರವಾದ ಅಭಿವ್ಯಕ್ತಿಗಳು ಬೇಕಾದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ನಿಂದ ಲಿಂಕರ್ ಕಮ್ಯಾಂಡ್ ಭಾಷೆಯನ್ನು ಬಳಸಿ ಪರಿಗಣಿಸಿ. ಗಮನಿಸಿ: ಚಿಹ್ನೆಯ ನಡುವೆ ಯಾವುದೇ ಬಿಳಿ ಜಾಗವು ಇರಬಾರದು, ಸಮ ಚಿಹ್ನೆ (`` = ''), ಮತ್ತು ಅಭಿವ್ಯಕ್ತಿ .

- ಡೆಮಾಂಗ್ಲ್ [= ಶೈಲಿ ]

--no-demangle

ಈ ಸಂದೇಶಗಳು ದೋಷ ಸಂದೇಶಗಳು ಮತ್ತು ಇತರ ಔಟ್ ಪುಟ್ನಲ್ಲಿ ಚಿಹ್ನೆ ಹೆಸರುಗಳನ್ನು ಬೇರ್ಪಡಿಸುವುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತವೆ. ಲಿಂಕ್ ಮಾಡುವವರನ್ನು ಡಿಮ್ಯಾಂಗಲ್ ಎಂದು ಹೇಳಿದಾಗ ಅದು ಸಂಕೇತದ ಹೆಸರುಗಳನ್ನು ಓದಬಲ್ಲ ಶೈಲಿಯಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ: ಇದು ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ನಿಂದ ಬಳಸಿದರೆ ಅದನ್ನು ಒತ್ತಿಹೇಳುತ್ತದೆ, ಮತ್ತು C ++ ಮ್ಯಾಂಗಲ್ಡ್ ಸಂಕೇತದ ಹೆಸರನ್ನು ಬಳಕೆದಾರ ಓದಬಲ್ಲ ಹೆಸರುಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ವಿವಿಧ ಕಂಪೈಲರ್ಗಳು ವಿಭಿನ್ನ ಮಾರ್ಗ್ಲಿಂಗ್ ಶೈಲಿಗಳನ್ನು ಹೊಂದಿವೆ. ಐಚ್ಛಿಕ ಡಿಮ್ಯಾಂಗ್ಲಿಂಗ್ ಸ್ಟೈಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ನಿಮ್ಮ ಕಂಪೈಲರ್ಗಾಗಿ ಸೂಕ್ತ ಡಿಮ್ಯಾಂಗ್ಲಿಂಗ್ ಶೈಲಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಬಳಸಬಹುದು. COLLECT_NO_DEMANGLE ಪರಿಸರ ವೇರಿಯೇಬಲ್ ಹೊಂದಿಸದೆ ಇದ್ದಲ್ಲಿ ಲಿಂಕ್ದಾರನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಡಿಮ್ಯಾಂಜಲ್ ಆಗುತ್ತಾನೆ. ಡೀಫಾಲ್ಟ್ ಅನ್ನು ಅತಿಕ್ರಮಿಸಲು ಈ ಆಯ್ಕೆಗಳು ಬಳಸಬಹುದು.

- ಡೈನಾಮಿಕ್-ಲಿಂಕ್ ಫೈಲ್

ಕ್ರಿಯಾತ್ಮಕ ಲಿಂಕ್ ಮಾಡುವ ಹೆಸರನ್ನು ಹೊಂದಿಸಿ. ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಸಂಯೋಜಿತ ELF ಕಾರ್ಯಗತಗೊಳ್ಳುವಿಕೆಯನ್ನು ಉತ್ಪಾದಿಸುವಾಗ ಮಾತ್ರ ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ. ಡೀಫಾಲ್ಟ್ ಡೈನಾಮಿಕ್ ಲಿಂಕ್ಕರ್ ಸಾಮಾನ್ಯವಾಗಿ ಸರಿಯಾಗಿದೆ; ನೀವು ಏನು ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ತಿಳಿಯದಿದ್ದರೆ ಇದನ್ನು ಬಳಸಬೇಡಿ.

--ಎಂಬೆಡ್ಡ್ಡ್-ರಿಲೋಕ್ಗಳು

ಎಂಪಿಎಸ್ ಎಂಬೆಡೆಡ್ ಪಿಐಸಿ ಕೋಡ್ ಅನ್ನು -ಮೇಂಬೆಡ್ಡ್-ಪಿಕ್ ಆಯ್ಕೆಯಿಂದ ಗ್ನು ಕಂಪೈಲರ್ ಮತ್ತು ಅಸೆಂಬ್ಲರ್ಗೆ ಜೋಡಿಸಿದಾಗ ಮಾತ್ರ ಈ ಆಯ್ಕೆಯು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ. ಪಾಯಿಂಟರ್ ಮೌಲ್ಯಗಳಿಗೆ ಸ್ಥಿರವಾಗಿ ಆರಂಭಿಸಲಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾವನ್ನು ಸ್ಥಳಾಂತರಿಸಲು ರನ್ಟೈಮ್ನಲ್ಲಿ ಬಳಸಬಹುದಾದ ಟೇಬಲ್ ಅನ್ನು ಲಿಂಕರ್ ರಚಿಸಲು ಇದು ಕಾರಣವಾಗುತ್ತದೆ. ವಿವರಗಳಿಗಾಗಿ testuite / ld-empic ನಲ್ಲಿನ ಕೋಡ್ ಅನ್ನು ನೋಡಿ.

--ಫಾಟಾಲ್-ಎಚ್ಚರಿಕೆಗಳು

ಎಲ್ಲಾ ಎಚ್ಚರಿಕೆಗಳನ್ನು ದೋಷಗಳಾಗಿ ಪರಿಗಣಿಸಿ .

--force-exe-suffix

ಒಂದು ಔಟ್ಪುಟ್ ಕಡತವು .exe ಪ್ರತ್ಯಯವನ್ನು ಹೊಂದಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ಒಂದು ಯಶಸ್ವಿಯಾಗಿ ನಿರ್ಮಿಸಿದ ಸಂಪೂರ್ಣ ಲಿಂಕ್ ಔಟ್ಪುಟ್ ಫೈಲ್ ". Exe " ಅಥವಾ " .dll " ಪ್ರತ್ಯಯವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಈ ಆಯ್ಕೆಯು ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ".exe" ಪ್ರತ್ಯಯದೊಂದಿಗೆ ಒಂದೇ ಹೆಸರಿಗೆ ಒಂದರಂತೆ ನಕಲಿಸಲು ಒತ್ತಾಯಿಸುತ್ತದೆ. ಮೈಕ್ರೊಸಾಫ್ಟ್ ವಿಂಡೋಸ್ ಹೋಸ್ಟ್ನಲ್ಲಿ ಮಾರ್ಪಡಿಸದ ಯುನಿಕ್ಸ್ ಮೇಫ್ಫೈಲ್ಗಳನ್ನು ಬಳಸುವಾಗ ಈ ಆಯ್ಕೆಯು ಉಪಯುಕ್ತವಾಗಿದೆ, ಏಕೆಂದರೆ ಕೆಲವು ಆವೃತ್ತಿಗಳ ಆವೃತ್ತಿಯು ".exe" ಪ್ರತ್ಯಯದಲ್ಲಿ ಅಂತ್ಯಗೊಳ್ಳದ ಹೊರತು ಒಂದು ಚಿತ್ರಿಕೆಯನ್ನು ಚಲಾಯಿಸುವುದಿಲ್ಲ.

--no-gc- ವಿಭಾಗಗಳು

--gc- ವಿಭಾಗಗಳು

ಬಳಕೆಯಾಗದ ಇನ್ಪುಟ್ ವಿಭಾಗಗಳ ಕಸ ಸಂಗ್ರಹವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಈ ಆಯ್ಕೆಯನ್ನು ಬೆಂಬಲಿಸದ ಗುರಿಗಳ ಮೇಲೆ ಅದನ್ನು ಕಡೆಗಣಿಸಲಾಗುತ್ತದೆ. ಈ ಆಯ್ಕೆಯು -r ನೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ, ಕ್ರಿಯಾತ್ಮಕ ಸಂಪರ್ಕದೊಂದಿಗೆ ಇದನ್ನು ಬಳಸಬಾರದು. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ --no-gc- ವಿಭಾಗಗಳನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ ಡೀಫಾಲ್ಟ್ ನಡವಳಿಕೆ (ಈ ಕಸ ಸಂಗ್ರಹವನ್ನು ನಿರ್ವಹಿಸದಿದ್ದರೆ ) ಅನ್ನು ಪುನಃಸ್ಥಾಪಿಸಬಹುದು.

--help

ಪ್ರಮಾಣಿತ ಔಟ್ಪುಟ್ ಮತ್ತು ನಿರ್ಗಮನದ ಆಜ್ಞಾ ಸಾಲಿನ ಆಯ್ಕೆಗಳ ಸಾರಾಂಶವನ್ನು ಮುದ್ರಿಸು.

- ಟಾರ್ಗೆಟ್ ಸಹಾಯ

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಔಟ್ಪುಟ್ ಮತ್ತು ನಿರ್ಗಮನದ ಎಲ್ಲಾ ಗುರಿ ನಿರ್ದಿಷ್ಟ ಆಯ್ಕೆಗಳನ್ನು ಸಾರಾಂಶ ಮುದ್ರಿಸಿ.

ನಕ್ಷೆ ಮ್ಯಾಪ್ ಫೈಲ್

ಲಿಂಕ್ ಮ್ಯಾಪ್ ಅನ್ನು ಫೈಲ್ ಮ್ಯಾಪ್ಫೈಲ್ಗೆ ಮುದ್ರಿಸು. ಮೇಲಿನ -M ಆಯ್ಕೆಯನ್ನು ವಿವರಣೆ ನೋಡಿ.

--no- ನೆನಪಿನ-ಇರಿಸು

ld ಸಾಮಾನ್ಯವಾಗಿ ಮೆಮೊರಿಯಲ್ಲಿ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳ ಚಿಹ್ನೆ ಕೋಷ್ಟಕಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಮೂಲಕ ಮೆಮೊರಿ ಬಳಕೆ ವೇಗವನ್ನು ಉತ್ತಮಗೊಳಿಸುತ್ತದೆ. ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡುವ ಮೂಲಕ, ಈ ಆಯ್ಕೆಯು ld ಗೆ ಮೆಮೊರಿ ಬಳಕೆಗೆ ಅನುಕೂಲವಾಗುವಂತೆ ಹೇಳುತ್ತದೆ. ದೊಡ್ಡ ಕಾರ್ಯಗತಗೊಳ್ಳುವಿಕೆಯನ್ನು ಲಿಂಕ್ ಮಾಡುವಾಗ ld ಮೆಮೊರಿ ಜಾಗದಿಂದ ಹೊರಬಂದಾಗ ಇದು ಅಗತ್ಯವಾಗಬಹುದು.

--no-undefined

-z defs

ಸಾಮಾನ್ಯವಾಗಿ ಸಂಕೇತ-ಅಲ್ಲದ ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯವನ್ನು ರಚಿಸುವಾಗ, ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ಅನುಮತಿಸಲಾಗುವುದು ಮತ್ತು ರನ್ಟೈಮ್ ಲೋಡರ್ನಿಂದ ಪರಿಹರಿಸಲಾಗುತ್ತದೆ. ಈ ಆಯ್ಕೆಗಳು ಅಂತಹ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ.

--allow- ಬಹು-ವ್ಯಾಖ್ಯಾನ

-z ಮುಲ್ಡೀಫ್ಸ್

ಸಾಮಾನ್ಯವಾಗಿ ಚಿಹ್ನೆಯನ್ನು ಅನೇಕ ಬಾರಿ ವ್ಯಾಖ್ಯಾನಿಸಿದಾಗ, ಲಿಂಕ್ ಮಾಡುವವರು ಮಾರಕ ದೋಷವನ್ನು ವರದಿ ಮಾಡುತ್ತಾರೆ. ಈ ಆಯ್ಕೆಗಳು ಅನೇಕ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ಅನುಮತಿಸುತ್ತವೆ ಮತ್ತು ಮೊದಲ ವ್ಯಾಖ್ಯಾನವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

--allow-shlib-undefined

--no-undefined ಅನ್ನು ಹೊಂದಿಸಿದಾಗಲೂ ಸಹ ಹಂಚಿಕೊಳ್ಳದ ಆಬ್ಜೆಕ್ಟ್ಗಳಲ್ಲಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ಅನುಮತಿಸಿ. ಸಾಮಾನ್ಯ ಫಲಿತಾಂಶಗಳಲ್ಲಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳು ಇನ್ನೂ ದೋಷವನ್ನು ಪ್ರಚೋದಿಸುತ್ತವೆ ಎಂದು ನಿವ್ವಳ ಫಲಿತಾಂಶವು ಹೇಳುತ್ತದೆ, ಆದರೆ ಹಂಚಿಕೊಳ್ಳಲಾದ ವಸ್ತುಗಳಲ್ಲಿನ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುವುದು. No_undifined ನ ಅನುಷ್ಠಾನವು ರನ್ಟೈಮ್ ಲಿಂಕ್ದಾರನು ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳ ಮೇಲೆ ಚಾಕ್ ಆಗುತ್ತದೆ ಎಂಬ ಊಹೆಯನ್ನು ಮಾಡುತ್ತದೆ. ಆದರೆ ಕನಿಷ್ಠ ಒಂದು ಸಿಸ್ಟಮ್ (ಬಿಓಎಸ್) ಇದೆ, ಇದರಲ್ಲಿ ಹಂಚಲಾಗದ ಗ್ರಂಥಾಲಯಗಳಲ್ಲಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳು ಸಾಮಾನ್ಯವಾಗಿದ್ದು, ಪ್ರಸ್ತುತದ ವಾಸ್ತುಶಿಲ್ಪಕ್ಕೆ ಯಾವ ಕಾರ್ಯವನ್ನು ಸೂಕ್ತವೆಂದು ಆಯ್ಕೆ ಮಾಡಲು ಕರ್ನಲ್ ಸಮಯವನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಐಇ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಸೂಕ್ತವಾದ ಸ್ಮಾರಕ ಕಾರ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. ಸ್ಪಷ್ಟೀಕರಿಸದ ಸಂಕೇತಗಳನ್ನು ಹೊಂದಲು HPPA ಹಂಚಿದ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಸಹ ಇದು ಸಾಮಾನ್ಯವಾಗಿದೆ.

--no-undefined-version

ಸಾಮಾನ್ಯವಾಗಿ ಚಿಹ್ನೆಯು ಸ್ಪಷ್ಟೀಕರಿಸದ ಆವೃತ್ತಿಯನ್ನು ಹೊಂದಿರುವಾಗ, ಲಿಂಕ್ದಾರನು ಅದನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತಾನೆ. ಈ ಆಯ್ಕೆಯು ಸ್ಪಷ್ಟೀಕರಿಸದ ಆವೃತ್ತಿಯೊಂದಿಗೆ ಚಿಹ್ನೆಗಳನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ ಮತ್ತು ಬದಲಾಗಿ ಮಾರಕ ದೋಷವನ್ನು ನೀಡಲಾಗುತ್ತದೆ.

--no- ಎಚ್ಚರಿಕೆ-ಹೊಂದಿಕೆಯಾಗದಂತೆ

ಸಾಮಾನ್ಯವಾಗಿ ಎಲ್ಡಿ ನೀವು ಕೆಲವು ಕಾರಣಗಳಿಗಾಗಿ ಹೊಂದಿಕೆಯಾಗದ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ಒಟ್ಟಿಗೆ ಲಿಂಕ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದಲ್ಲಿ ದೋಷವನ್ನು ನೀಡುತ್ತದೆ, ಬಹುಶಃ ಅವುಗಳು ವಿಭಿನ್ನ ಸಂಸ್ಕಾರಕಗಳಿಗೆ ಅಥವಾ ವಿವಿಧ ಅಂತ್ಯದ ಅಂಚುಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಸಂಕಲಿಸಲ್ಪಟ್ಟಿದೆ. ಅಂತಹ ಸಂಭವನೀಯ ದೋಷಗಳನ್ನು ಮೌನವಾಗಿ ಅನುಮತಿಸಬೇಕು ಎಂದು ಈ ಆಯ್ಕೆಯು ಹೇಳುತ್ತದೆ. ಈ ಆಯ್ಕೆಯನ್ನು ಕಾಳಜಿಯೊಂದಿಗೆ ಮಾತ್ರ ಬಳಸಬೇಕು, ಲಿಂಕರ್ ದೋಷಗಳು ಅನುಚಿತವೆಂದು ಖಾತ್ರಿಪಡಿಸುವ ಕೆಲವು ವಿಶೇಷ ಕ್ರಮಗಳನ್ನು ನೀವು ತೆಗೆದುಕೊಂಡ ಸಂದರ್ಭಗಳಲ್ಲಿ.

--no-whole-archive

ನಂತರದ ಆರ್ಕೈವ್ ಕಡತಗಳಿಗಾಗಿ --whole ಆರ್ಕೈವ್ ಆಯ್ಕೆಯ ಪರಿಣಾಮವನ್ನು ಆಫ್ ಮಾಡಿ.

- ನಾನ್ಬಿಬಿಟ್-ಎಕ್ಸ್ಕ್

ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ಈಗಲೂ ಬಳಸಬಹುದಾಗಿದ್ದಾಗ ಉಳಿಸಿಕೊಳ್ಳಿ. ಸಾಮಾನ್ಯವಾಗಿ, ಲಿಂಕ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ದೋಷಗಳು ಎದುರಾದರೆ ಲಿಂಕ್ದಾರನು ಔಟ್ಪುಟ್ ಫೈಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವುದಿಲ್ಲ; ಯಾವುದೇ ದೋಷವನ್ನು ಉಂಟಾದಾಗ ಅದು ಔಟ್ಪುಟ್ ಫೈಲ್ ಬರೆಯದೆ ನಿರ್ಗಮಿಸುತ್ತದೆ.

ನಾಸ್ಟ್ಡಿಲಿಬ್

ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಹುಡುಕಾಟ ಲೈಬ್ರರಿ ಡೈರೆಕ್ಟರಿಗಳು ಮಾತ್ರ. ಲಿಂಗರ್ ಸ್ಕ್ರಿಪ್ಟುಗಳಲ್ಲಿ ಸೂಚಿಸಲಾದ ಲೈಬ್ರರಿ ಡೈರೆಕ್ಟರಿಗಳು (ಕಮಾಂಡ್ ಲೈನ್ನಲ್ಲಿ ಸೂಚಿಸಲಾದ ಲಿಂಕ್ನ ಸ್ಕ್ರಿಪ್ಟುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ) ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ.

- ಔಟ್ಪುಟ್-ಫಾರ್ಮ್ಯಾಟ್ ಫಾರ್ಮಾಟ್ ಮಾಡಿ

ld ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ರೀತಿಯ ವಸ್ತು ಕಡತವನ್ನು ಬೆಂಬಲಿಸಲು ಸಂರಚಿಸಬಹುದು. ನಿಮ್ಮ ld ಅನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ಸಂರಚಿಸಿದರೆ, ಔಟ್ಪುಟ್ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ಗಾಗಿ ಬೈನರಿ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು --oformat ಆಯ್ಕೆಯನ್ನು ನೀವು ಬಳಸಬಹುದು. ಪರ್ಯಾಯ ಆಬ್ಜೆಕ್ಟ್ ಫಾರ್ಮ್ಯಾಟ್ಗಳನ್ನು ಬೆಂಬಲಿಸಲು ld ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದ್ದರೂ ಸಹ, ನೀವು ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗಿಲ್ಲ, ಪ್ರತಿ ಗಣಕದಲ್ಲಿ ಹೆಚ್ಚು ಸಾಮಾನ್ಯ ಸ್ವರೂಪವನ್ನು ಡೀಫಾಲ್ಟ್ ಔಟ್ಪುಟ್ ಸ್ವರೂಪವಾಗಿ ld ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿರುತ್ತದೆ. ಔಟ್ಪುಟ್-ಫಾರ್ಮ್ಯಾಟ್ ಎನ್ನುವುದು ಟೆಕ್ಸ್ಟ್ ಸ್ಟ್ರಿಂಗ್ ಆಗಿದೆ, ಬಿಎಫ್ಡಿ ಗ್ರಂಥಾಲಯಗಳು ಬೆಂಬಲಿಸುವ ನಿರ್ದಿಷ್ಟ ಸ್ವರೂಪದ ಹೆಸರು. (ನೀವು objdump -i ನೊಂದಿಗೆ ಲಭ್ಯವಿರುವ ಬೈನರಿ ಸ್ವರೂಪಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಬಹುದು) ಸ್ಕ್ರಿಪ್ಟ್ ಆದೇಶ "OUTPUT_FORMAT" ಸಹ ಔಟ್ಪುಟ್ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಆದರೆ ಈ ಆಯ್ಕೆಯು ಅದನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ.

-ಕ್ಮ್ಯಾಜಿಕ್

ಈ ಆಯ್ಕೆಯು ಲಿನಕ್ಸ್ ಹೊಂದಾಣಿಕೆಯ ಕಡೆಗಣಿಸಲಾಗುತ್ತದೆ.

-ಕಿ

SVR4 ಹೊಂದಾಣಿಕೆಗಾಗಿ ಈ ಆಯ್ಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ.

--relax

ಯಂತ್ರ ಅವಲಂಬಿತ ಪರಿಣಾಮಗಳ ಆಯ್ಕೆ. ಈ ಆಯ್ಕೆಯನ್ನು ಕೆಲವು ಗುರಿಗಳಲ್ಲಿ ಮಾತ್ರ ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ.

ಕೆಲವು ಪ್ಲ್ಯಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ, --relax ಆಯ್ಕೆಯು ಜಾಗತಿಕ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ವಿಳಾಸವನ್ನು ಪರಿಹರಿಸುವಲ್ಲಿ ಲಿಂಕ್ದಾರರು ಪರಿಹರಿಸಿದಾಗ ಸಾಧ್ಯತೆಯಿದೆ, ಉದಾಹರಣೆಗೆ ವಿಳಾಸ ವಿಧಾನಗಳನ್ನು ಸರಾಗಗೊಳಿಸುವ ಮತ್ತು ಔಟ್ಪುಟ್ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ನಲ್ಲಿ ಹೊಸ ಸೂಚನೆಗಳನ್ನು ಸಂಶ್ಲೇಷಿಸುವುದು.

ಕೆಲವು ಪ್ಲ್ಯಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಈ ಲಿಂಕ್ ಸಮಯ ಜಾಗತಿಕ ಅನುಕೂಲತೆಗಳು ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಕಾರ್ಯಸಾಧ್ಯತೆಯನ್ನು ಸಾಂಕೇತಿಕ ಡೀಬಗ್ ಮಾಡುವಿಕೆಯನ್ನು ಅಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಇದು ಮ್ಯಾಟ್ಸುಷಿಟಾ MN10200 ಮತ್ತು MN10300 ಕುಟುಂಬದ ಪ್ರೊಸೆಸರ್ಗಳಿಗೆ ಕಾರಣವಾಗಿದೆ.

ಇದು ಬೆಂಬಲಿತವಾಗಿರದ ವೇದಿಕೆಗಳಲ್ಲಿ, --relax ಅನ್ನು ಅಂಗೀಕರಿಸಲಾಗಿದೆ, ಆದರೆ ಕಡೆಗಣಿಸಲಾಗುತ್ತದೆ.

- ರೆಟಿನನ್ ಚಿಹ್ನೆಗಳು-ಫೈಲ್ ಫೈಲ್ಹೆಸರು

ಫೈಲ್ ಫೈಲ್ ಹೆಸರಿನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಿದ ಚಿಹ್ನೆಗಳನ್ನು ಮಾತ್ರ ಉಳಿಸಿಕೊಳ್ಳಿ, ಎಲ್ಲವನ್ನೂ ತಿರಸ್ಕರಿಸುವುದು. ಕಡತದ ಹೆಸರು ಸರಳವಾಗಿ ಒಂದು ಫ್ಲಾಟ್ ಫೈಲ್ ಆಗಿದೆ, ಪ್ರತಿ ಸಾಲಿಗೆ ಒಂದು ಸಂಕೇತದ ಹೆಸರಿನೊಂದಿಗೆ. ಈ ಆಯ್ಕೆಯು ಪರಿಸರದಲ್ಲಿ (ಉದಾಹರಣೆಗೆ VxWorks ನಂತಹ) ವಿಶೇಷವಾಗಿ ಜಾಗತಿಕ ಚಿಹ್ನೆಯ ಕೋಷ್ಟಕವನ್ನು ಕ್ರಮೇಣ ಸಂಗ್ರಹಿಸಿದೆ, ರನ್-ಟೈಮ್ ಮೆಮೊರಿಯನ್ನು ಸಂರಕ್ಷಿಸಲು.

- ಮರಳಿ-ಚಿಹ್ನೆಗಳು-ಕಡತ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳನ್ನು ತಿರಸ್ಕರಿಸುವುದಿಲ್ಲ, ಅಥವಾ ಸ್ಥಳಾಂತರಕ್ಕಾಗಿ ಅಗತ್ಯವಿರುವ ಚಿಹ್ನೆಗಳು.

ನೀವು ಮಾತ್ರ ಸೂಚಿಸಬಹುದು - ಮರಳಿ-ಚಿಹ್ನೆಗಳು -ಒಮ್ಮೆ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಫೈಲ್ ಮಾಡಿ. ಇದು -s ಮತ್ತು -S ಅನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ.

-ರಾಪಾತ್ ಡಿರ್

ರನ್ಟೈಮ್ ಲೈಬ್ರರಿ ಹುಡುಕಾಟ ಪಥಕ್ಕೆ ಕೋಶವನ್ನು ಸೇರಿಸಿ. ಹಂಚಿದ ವಸ್ತುಗಳೊಂದಿಗೆ ELFexecutable ಅನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಎಲ್ಲಾ- ಆರ್ಪತ್ ಆರ್ಗ್ಯುಮೆಂಟುಗಳು ಸಂಯೋಜಿತವಾಗುತ್ತವೆ ಮತ್ತು ರನ್ಟೈಮ್ ಲಿಂಕ್ಗೆ ರವಾನೆಯಾಗುತ್ತವೆ, ಇದು ರನ್ಟೈಮ್ನಲ್ಲಿ ಹಂಚಿದ ವಸ್ತುಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಅವುಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಹಂಚಿದ ವಸ್ತುಗಳನ್ನು ಅಗತ್ಯವಾಗಿ ಹಂಚಿಕೊಂಡ ವಸ್ತುಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಿದಾಗ -ಆರ್ಪಾತ್ ಆಯ್ಕೆಯನ್ನು ಸಹ ಲಿಂಕ್ನಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ಸೇರಿಸಲಾಗಿರುತ್ತದೆ; -rpath-link ಆಯ್ಕೆಯ ವಿವರಣೆ ನೋಡಿ. ELF ಕಾರ್ಯಗತಗೊಳ್ಳುವಿಕೆಯನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ -rpath ಅನ್ನು ಬಳಸದೆ ಇದ್ದಲ್ಲಿ, ಅದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದ್ದರೆ ಪರಿಸರ ವೇರಿಯೇಬಲ್ "LD_RUN_PATH" ನ ವಿಷಯಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

-rpath ಆಯ್ಕೆಯನ್ನು ಸಹ SunOS ನಲ್ಲಿ ಬಳಸಬಹುದಾಗಿದೆ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, SunOS ನಲ್ಲಿ, ಕೊಂಡಿಯು ಎಲ್ಲಾ -L ಆಯ್ಕೆಗಳ ಹೊರಗೆ ರನ್ಟೈಮ್ ಸರ್ಚ್ ಪ್ಯಾಚ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ. ಒಂದು -rpath ಆಯ್ಕೆಯನ್ನು ಬಳಸಿದರೆ, -L ಆಯ್ಕೆಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ -rpath ಆಯ್ಕೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ರನ್ಟೈಮ್ ಸರ್ಚ್ ಹಾಥೆಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ. Gcc ಅನ್ನು ಬಳಸುವಾಗ ಇದು ಉಪಯುಕ್ತವಾಗಬಹುದು, ಇದು ಎನ್ಎನ್ಎಸ್ನಲ್ಲಿ ಕಡತವ್ಯವಸ್ಥೆಯನ್ನು ಆರೋಹಿತವಾದ ಅನೇಕ -L ಆಯ್ಕೆಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ.

ಇತರ ಇಎಫ್ಎಫ್ ಲಿಂಕ್ದಾರರೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಾಗಿ, -ಆರ್ ಆಯ್ಕೆಯು ಫೈಲ್ ಹೆಸರಿನ ಬದಲಾಗಿ ಕೋಶದ ಹೆಸರನ್ನು ಅನುಸರಿಸಿದರೆ, ಅದನ್ನು -rpath ಆಯ್ಕೆಯಂತೆ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

-ಆರ್ಪತ್-ಲಿಂಕ್ ಡಿಐಆರ್

ELF ಅಥವಾ SunOS ಅನ್ನು ಬಳಸುವಾಗ, ಒಂದು ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯಕ್ಕೆ ಇನ್ನೊಂದನ್ನು ಬೇಕಾಗಬಹುದು. ಒಂದು "ld-shared" ಲಿಂಕ್ ಹಂಚಿದ ಗ್ರಂಥಾಲಯದ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳಲ್ಲೊಂದಾಗಿದ್ದರೆ ಇದು ಸಂಭವಿಸುತ್ತದೆ.

ಹಂಚಿಕೆ ಮಾಡದ, ನಿರಾಕರಿಸಲಾಗದ ಲಿಂಕ್ ಮಾಡುವಾಗ ಲಿಂಕ್ದಾರನು ಅಂತಹ ಅವಲಂಬನೆಯನ್ನು ಎದುರಿಸುವಾಗ, ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಗತ್ಯವಾದ ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯವನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ ಮತ್ತು ಲಿಂಕ್ನಲ್ಲಿ ಅದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೇರಿಸದಿದ್ದಲ್ಲಿ ಅದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಅಂತಹ ಸಂದರ್ಭದಲ್ಲಿ, -rpath-link ಆಯ್ಕೆಯು ಹುಡುಕಲು ಮೊದಲ ಕೋಶಗಳ ಪಟ್ಟಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. -rpath- ಲಿಂಕ್ ಆಯ್ಕೆಯು ಕೋಶಗಳ ಬೇರ್ಪಡಿಸಿದ ಹೆಸರುಗಳ ಪಟ್ಟಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ಅಥವಾ ಅನೇಕ ಬಾರಿ ಗೋಚರಿಸುವ ಮೂಲಕ ಕೋಶದ ಹೆಸರುಗಳ ಅನುಕ್ರಮವನ್ನು ಸೂಚಿಸಬಹುದು.

ಹಂಚಿದ ಲೈಬ್ರರಿಯಲ್ಲಿ ಹಾರ್ಡ್ ಸಂಕಲಿತವಾಗಿರಬಹುದಾದ ಹುಡುಕಾಟ ಪಥವನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ ಎಂದು ಎಚ್ಚರಿಕೆಯಿಂದ ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಬೇಕು. ಅಂತಹ ಸಂದರ್ಭಗಳಲ್ಲಿ ರನ್ಟೈಮ್ ಲಿಂಕ್ ಮಾಡುವವಕ್ಕಿಂತಲೂ ಅನುದ್ದೇಶಿತವಾಗಿ ವಿಭಿನ್ನ ಹುಡುಕಾಟ ಪಥವನ್ನು ಬಳಸುವುದು ಸಾಧ್ಯ.

ಅಗತ್ಯವಿರುವ ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಲಿಂಕ್ದಾರನು ಈ ಕೆಳಗಿನ ಹುಡುಕಾಟ ಪಥಗಳನ್ನು ಬಳಸುತ್ತಾನೆ.

1.

-rpath-link ಆಯ್ಕೆಗಳನ್ನು ಸೂಚಿಸಿದ ಯಾವುದೇ ಕೋಶಗಳು.

2.

-rpath ಆಯ್ಕೆಗಳಿಂದ ಸೂಚಿಸಲಾದ ಯಾವುದೇ ಕೋಶಗಳು. -rpath ಮತ್ತು -rpath- ಲಿಂಕ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸವೆಂದರೆ -rpath ಆಯ್ಕೆಗಳಿಂದ ಸೂಚಿಸಲಾದ ಕೋಶಗಳು ಕಾರ್ಯಗತಗೊಳ್ಳುವಲ್ಲಿ ಸೇರ್ಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ರನ್ಟೈಮ್ನಲ್ಲಿ ಬಳಸಲ್ಪಡುತ್ತವೆ, ಆದರೆ -ಆರ್ಪತ್-ಲಿಂಕ್ ಆಯ್ಕೆಯು ಲಿಂಕ್ ಸಮಯದಲ್ಲಿ ಮಾತ್ರ ಪರಿಣಾಮಕಾರಿಯಾಗಿರುತ್ತದೆ. ಇದು ಸ್ಥಳೀಯ ಲಿಂಕ್ದಾರರಿಗೆ ಮಾತ್ರ.

3.

ELF ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, -rpath ಮತ್ತು "rpath-link" ಆಯ್ಕೆಗಳನ್ನು ಬಳಸದೆ ಇದ್ದಲ್ಲಿ, ಪರಿಸರ ವೇರಿಯೇಬಲ್ "LD_RUN_PATH" ನ ವಿಷಯಗಳನ್ನು ಹುಡುಕಿ. ಇದು ಸ್ಥಳೀಯ ಲಿಂಕ್ದಾರರಿಗೆ ಮಾತ್ರ.

4.

SunOS ನಲ್ಲಿ, -rpath ಆಯ್ಕೆಯನ್ನು ಬಳಸದೆ ಇದ್ದಲ್ಲಿ, -L ಆಯ್ಕೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸೂಚಿಸಲಾದ ಯಾವುದೇ ಕೋಶಗಳನ್ನು ಹುಡುಕಿ.

5.

ಸ್ಥಳೀಯ ಲಿಂಕರ್ಗಾಗಿ, ಪರಿಸರ ವೇರಿಯೇಬಲ್ "LD_LIBRARY_PATH" ವಿಷಯಗಳು.

6.

ಸ್ಥಳೀಯ ELF ಲಿಂಕ್ದಾರರಿಗೆ, "DT_RUNPATH" ಅಥವಾ ಹಂಚಿದ ಲೈಬ್ರರಿಯ "DT_RPATH" ನಲ್ಲಿರುವ ಡೈರೆಕ್ಟರಿಗಳು ಅದಕ್ಕೆ ಅಗತ್ಯವಿರುವ ಹಂಚಿದ ಲೈಬ್ರರಿಗಳಿಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತದೆ. "DT_RUNPATH" ನಮೂದುಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ "DT_RPATH" ನಮೂದುಗಳನ್ನು ಕಡೆಗಣಿಸಲಾಗುತ್ತದೆ.

7.

ಪೂರ್ವನಿಯೋಜಿತ ಕೋಶಗಳು, ಸಾಮಾನ್ಯವಾಗಿ / lib ಮತ್ತು / usr / lib .

8.

ಒಂದು ELF ವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಸ್ಥಳೀಯ ಲಿಂಕ್ಗಾಗಿ , /etc/ld.so.conf ಕಡತವು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ಆ ಕಡತದಲ್ಲಿ ಕಂಡುಬರುವ ಕೋಶಗಳ ಪಟ್ಟಿ.

ಅಗತ್ಯವಿರುವ ಹಂಚಿಕೆಯ ಲೈಬ್ರರಿಯು ಕಂಡುಬರದಿದ್ದರೆ, ಲಿಂಕ್ದಾರರು ಎಚ್ಚರಿಕೆ ನೀಡುತ್ತಾರೆ ಮತ್ತು ಲಿಂಕ್ನೊಂದಿಗೆ ಮುಂದುವರಿಯುತ್ತಾರೆ.

ಹಂಚಿಕೊಳ್ಳಲಾಗಿದೆ

-ಸಾಧಾರಣ

ಹಂಚಿದ ಲೈಬ್ರರಿಯನ್ನು ರಚಿಸಿ. ಇದು ಪ್ರಸ್ತುತ ELF, XCOFF ಮತ್ತು SunOS ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಬೆಂಬಲಿತವಾಗಿದೆ. ಸಿನೊಸ್ನಲ್ಲಿ, -e ಆಯ್ಕೆಯನ್ನು ಬಳಸದಿದ್ದಲ್ಲಿ ಲಿಂಕರ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯವನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಲಿಂಕ್ನಲ್ಲಿ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಗಳು ಇವೆ.

- ಸಾರ್ಟ್-ಸಾಮಾನ್ಯ

ಸೂಕ್ತವಾದ ಔಟ್ಪುಟ್ ವಿಭಾಗಗಳಲ್ಲಿ ಅವುಗಳನ್ನು ಇರಿಸಿದಾಗ ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಗಳನ್ನು ಗಾತ್ರದಿಂದ ವಿಂಗಡಿಸಲು ಈ ಆಯ್ಕೆಯು ld ಗೆ ಹೇಳುತ್ತದೆ. ಮೊದಲ ಎಲ್ಲಾ ಬೈಟ್ ಸಂಕೇತಗಳನ್ನು ಬನ್ನಿ, ನಂತರ ಎಲ್ಲಾ ಎರಡು ಬೈಟ್, ನಂತರ ಎಲ್ಲಾ ನಾಲ್ಕು ಬೈಟ್, ತದನಂತರ ಎಲ್ಲವೂ. ಜೋಡಣೆ ನಿರ್ಬಂಧಗಳಿಂದಾಗಿ ಚಿಹ್ನೆಗಳ ನಡುವಿನ ಅಂತರವನ್ನು ತಡೆಗಟ್ಟುವುದು.

--split-by-file [ size ]

--split-by-reloc ಗೆ ಹೋಲುತ್ತದೆ ಆದರೆ ಗಾತ್ರ ತಲುಪಿದಾಗ ಪ್ರತಿ ಇನ್ಪುಟ್ ಫೈಲ್ಗೆ ಹೊಸ ಔಟ್ಪುಟ್ ವಿಭಾಗವನ್ನು ರಚಿಸುತ್ತದೆ. ನೀಡದಿದ್ದಲ್ಲಿ 1 ಗಾತ್ರದ ಡಿಫಾಲ್ಟ್ ಗಾತ್ರ.

--split-by-reloc [ count ]

ಔಟ್ಪುಟ್ ಫೈಲ್ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ವಿಭಾಗಗಳನ್ನು ಸೃಷ್ಟಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ ಆದ್ದರಿಂದ ಫೈಲ್ನಲ್ಲಿ ಒಂದೇ ಒಂದು ಔಟ್ಪುಟ್ ವಿಭಾಗವು ಎಣಿಕೆ ಸ್ಥಳಾಂತರಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಹೊಂದಿರುತ್ತದೆ. COFF ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ನೊಂದಿಗೆ ಕೆಲವು ನೈಜ ಸಮಯದಲ್ಲಿ ಕಾಳುಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ದೊಡ್ಡ ಸ್ಥಳಾಂತರಿಸುವ ಫೈಲ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುವಾಗ ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ; ಒಂದು ಭಾಗದಲ್ಲಿ COFFcannot 65535 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಸ್ಥಳಾಂತರಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ. ಅನಿಯಂತ್ರಿತ ವಿಭಾಗಗಳನ್ನು ಬೆಂಬಲಿಸದ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ಗಳೊಂದಿಗೆ ಇದು ಕೆಲಸ ಮಾಡಲು ವಿಫಲಗೊಳ್ಳುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಲಿಂಕ್ ಮಾಡುವವನು ಪ್ರತ್ಯೇಕ ಇನ್ಪುಟ್ ವಿಭಾಗಗಳನ್ನು ಪುನರ್ವಿತರಣೆಗಾಗಿ ವಿಭಜಿಸುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಏಕ ಇನ್ಪುಟ್ ವಿಭಾಗವು ಎಣಿಕೆ ಸ್ಥಳಗಳಿಗಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಹೊಂದಿದ್ದರೆ, ಒಂದು ಔಟ್ಪುಟ್ ವಿಭಾಗವು ಅನೇಕ ಸ್ಥಳಾಂತರಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. 32768 ಮೌಲ್ಯಕ್ಕೆ ಡೀಫಾಲ್ಟ್ಗಳನ್ನು ಎಣಿಸಿ.

- ಸ್ಟಾಟ್ಗಳು

ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯ ಮತ್ತು ಮೆಮೊರಿ ಬಳಕೆ ಮುಂತಾದ ಲಿಂಕರ್ ಕಾರ್ಯಾಚರಣೆಯ ಬಗ್ಗೆ ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ಪ್ರದರ್ಶನ ಅಂಕಿಅಂಶಗಳು.

- ಸಾಂಪ್ರದಾಯಿಕ-ಸ್ವರೂಪ

ಕೆಲವು ಗುರಿಗಳಿಗಾಗಿ, ld ನ ಔಟ್ಪುಟ್ ಕೆಲವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಲಿಂಕ್ಗಳ ಕೆಲವು ಉತ್ಪನ್ನಗಳಲ್ಲಿ ವಿಭಿನ್ನವಾಗಿದೆ. ಬದಲಾಗಿ ಸಾಂಪ್ರದಾಯಿಕ ಸ್ವರೂಪವನ್ನು ಬಳಸಲು ಈ ಸ್ವಿಚ್ ld ವಿನಂತಿಸುತ್ತದೆ.

ಉದಾಹರಣೆಗೆ, SunOS ನಲ್ಲಿ, ld ಸಂಕೇತ ಸ್ಟ್ರಿಂಗ್ ಟೇಬಲ್ನಲ್ಲಿ ನಕಲಿ ನಮೂದುಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ. ಇದು ಸಂಪೂರ್ಣ ಡೀಬಗ್ ಮಾಡುವಿಕೆಯ ಮಾಹಿತಿಯೊಂದಿಗೆ ಔಟ್ಪುಟ್ ಫೈಲ್ನ ಗಾತ್ರವನ್ನು 30 ಪ್ರತಿಶತದಷ್ಟು ಕಡಿಮೆಗೊಳಿಸುತ್ತದೆ. ದುರದೃಷ್ಟವಶಾತ್, ಸನ್ಓಎಸ್ "ಡಿಬಿಎಕ್ಸ್" ಪ್ರೋಗ್ರಾಂ ಪರಿಣಾಮವಾಗಿ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ ("ಜಿಡಿಬಿ" ಗೆ ತೊಂದರೆ ಇಲ್ಲ). - ನಕಲಿ ನಮೂದುಗಳನ್ನು ಸಂಯೋಜಿಸದಿರಲು - ಸಾಂಪ್ರದಾಯಿಕ-ಸ್ವರೂಪದ ಸ್ವಿಚ್ ld ಗೆ ತಿಳಿಸುತ್ತದೆ.

--section-start sectionname = org

ಓರ್ಜಿ ನೀಡಿದ ಸಂಪೂರ್ಣ ವಿಳಾಸದಲ್ಲಿ ಔಟ್ಪುಟ್ ಫೈಲ್ನಲ್ಲಿ ಒಂದು ವಿಭಾಗವನ್ನು ಪತ್ತೆ ಮಾಡಿ. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಅನೇಕ ವಿಭಾಗಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ನೀವು ಈ ಆಯ್ಕೆಯನ್ನು ಹಲವು ಬಾರಿ ಬಳಸಬಹುದು. org ಒಂದು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಪೂರ್ಣಾಂಕವಾಗಿರಬೇಕು; ಇತರ ಲಿಂಕ್ ಮಾಡುವವರೊಂದಿಗಿನ ಹೊಂದಾಣಿಕೆಗಾಗಿ, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಸಂಯೋಜಿತವಾದ ಪ್ರಮುಖ 0x ಅನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು. ಗಮನಿಸಿ: ಸೆಕ್ಷನ್ ಹೆಸರಿನ ನಡುವೆ ಯಾವುದೇ ಜಾಗದಿಂದ ಇರಬಾರದು , ಸಮ ಚಿಹ್ನೆ (`` = ''), ಮತ್ತು ಆರ್ಗ್ .

-ಟ್ಬ್ಸ್ ಆರ್ಗ್

-ಟಾಟಾ ಆರ್ಗ್

-ಟೆಕ್ಸ್ಟ್ ಆರ್ಗ್

--- "bss", "data", ಅಥವಾ ಔಟ್ಪುಟ್ ಫೈಲ್ನ "ಪಠ್ಯ" ವಿಭಾಗವನ್ನು --- ಆರಂಭದ ವಿಳಾಸವಾಗಿ ಆರ್ಗ್ ಬಳಸಿ. org ಒಂದು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಪೂರ್ಣಾಂಕವಾಗಿರಬೇಕು; ಇತರ ಲಿಂಕ್ ಮಾಡುವವರೊಂದಿಗಿನ ಹೊಂದಾಣಿಕೆಗಾಗಿ, ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಸಂಯೋಜಿತವಾದ ಪ್ರಮುಖ 0x ಅನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು.

- ಡಿಎಲ್-ವರ್ಬೋಸ್

- ವರ್ಬೋಸ್

Ld ಗಾಗಿ ಆವೃತ್ತಿಯ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರದರ್ಶಿಸಿ ಮತ್ತು ಲಿಂಕರ್ ಎಮ್ಯುಲೇಶನ್ಸ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಯಾವ ಇನ್ಪುಟ್ ಫೈಲ್ಗಳನ್ನು ಪ್ರದರ್ಶಿಸಬಹುದು ಮತ್ತು ತೆರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಲಿಂಕ್ ಮಾಡುವ ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಿ.

--version-script = version-scriptfile

ಲಿಂಕ್ ಸ್ಕ್ರಿಪ್ಟ್ನ ಹೆಸರನ್ನು ಲಿಂಕ್ದಾರರಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ಗ್ರಂಥಾಲಯದ ರಚನೆಗಾಗಿ ಆವೃತ್ತಿಯ ಉತ್ತರಾಧಿಕಾರದ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಳನ್ನು ಸೂಚಿಸಲು ಹಂಚಿಕೊಂಡ ಗ್ರಂಥಾಲಯಗಳನ್ನು ರಚಿಸುವಾಗ ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಹಂಚಿಕೆಯ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬೆಂಬಲಿಸುವ ELF ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಈ ಆಯ್ಕೆಯು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ.

- ಸಾಮಾನ್ಯ-ಸಾಮಾನ್ಯ

ಸಾಮಾನ್ಯ ಚಿಹ್ನೆ ಮತ್ತೊಂದು ಸಾಮಾನ್ಯ ಚಿಹ್ನೆ ಅಥವಾ ಚಿಹ್ನೆಯ ವ್ಯಾಖ್ಯಾನದೊಂದಿಗೆ ಸಂಯೋಜಿಸಲ್ಪಟ್ಟಾಗ ಎಚ್ಚರ ನೀಡಿ. ಯುನಿಕ್ಸ್ ಲಿಂಕರ್ಗಳು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ದೊಗಲೆ ಅಭ್ಯಾಸವನ್ನು ಅನುಮತಿಸುತ್ತಾರೆ, ಆದರೆ ಕೆಲವು ಇತರ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಲಿಂಕ್ ಮಾಡುವವರು ಇಲ್ಲ. ಜಾಗತಿಕ ಚಿಹ್ನೆಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸಲು ಸಂಭಾವ್ಯ ಸಮಸ್ಯೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಈ ಆಯ್ಕೆಯು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ದುರದೃಷ್ಟವಶಾತ್, ಕೆಲವು C ಗ್ರಂಥಾಲಯಗಳು ಈ ಅಭ್ಯಾಸವನ್ನು ಬಳಸುತ್ತವೆ, ಹೀಗಾಗಿ ನೀವು ಗ್ರಂಥಾಲಯಗಳಲ್ಲಿ ಮತ್ತು ನಿಮ್ಮ ಕಾರ್ಯಕ್ರಮಗಳಲ್ಲಿ ಚಿಹ್ನೆಗಳ ಬಗ್ಗೆ ಕೆಲವು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಪಡೆಯಬಹುದು.

ಮೂರು ರೀತಿಯ ಜಾಗತಿಕ ಚಿಹ್ನೆಗಳು ಇವೆ, ಇಲ್ಲಿ ಸಿ ಉದಾಹರಣೆಗಳಿಂದ ವಿವರಿಸಲಾಗಿದೆ:

ಇಂಟ್ ನಾನು = 1;

ಔಟ್ಪುಟ್ ಫೈಲ್ನ ಪ್ರಾರಂಭಿಕ ಡೇಟಾ ವಿಭಾಗದಲ್ಲಿ ಹೋದ ಒಂದು ವ್ಯಾಖ್ಯಾನ.

ಬಾಹ್ಯ ಇಂಟ್ ನಾನು;

ಸ್ಪಷ್ಟೀಕರಿಸದ ಉಲ್ಲೇಖ, ಇದು ಸ್ಥಳವನ್ನು ನಿಯೋಜಿಸುವುದಿಲ್ಲ. ಎಲ್ಲೋ ವೇರಿಯಬಲ್ಗೆ ವ್ಯಾಖ್ಯಾನ ಅಥವಾ ಸಾಮಾನ್ಯ ಚಿಹ್ನೆ ಇರಬೇಕು.

ಇಂಟ್ ನಾನು;

ಸಾಮಾನ್ಯ ಚಿಹ್ನೆ. ವೇರಿಯೇಬಲ್ಗೆ ಕೇವಲ ಒಂದು (ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು) ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಗಳು ಇದ್ದರೆ, ಅದು ಔಟ್ಪುಟ್ ಫೈಲ್ನ ಆರಂಭಿಸದ ಡೇಟಾ ಪ್ರದೇಶದಲ್ಲಿ ಹೋಗುತ್ತದೆ. ಒಂದೇ ಚಿಹ್ನೆಯೊಳಗೆ ಅದೇ ವೇರಿಯಬಲ್ಗೆ ಬಹು ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಗಳನ್ನು ಲಿಂಕ್ ಮಾಡುವವನು ವಿಲೀನಗೊಳಿಸುತ್ತಾನೆ. ಅವು ವಿಭಿನ್ನ ಗಾತ್ರದವರಾಗಿದ್ದರೆ, ಅದು ದೊಡ್ಡ ಗಾತ್ರವನ್ನು ಒಟ್ಟುಗೂಡಿಸುತ್ತದೆ. ಅದೇ ವೇರಿಯೇಬಲ್ ವ್ಯಾಖ್ಯಾನವನ್ನು ಹೊಂದಿದ್ದರೆ ಲಿಂಕರ್ ಒಂದು ಸಾಮಾನ್ಯ ಸಂಕೇತವನ್ನು ಘೋಷಣೆಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.

--warn- ಸಾಮಾನ್ಯ ಆಯ್ಕೆ ಐದು ವಿಧದ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಉತ್ಪಾದಿಸಬಹುದು. ಪ್ರತಿ ಎಚ್ಚರಿಕೆ ಒಂದು ಜೋಡಿ ಸಾಲುಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ: ಮೊದಲನೆಯದಾಗಿ ಚಿಹ್ನೆಯು ಎದುರಾಗಿದೆ ಮತ್ತು ಎರಡನೇ ಹೆಸರನ್ನು ಅದೇ ಹೆಸರಿನೊಂದಿಗೆ ಎದುರಿಸಿದೆ ಎಂದು ವಿವರಿಸುತ್ತದೆ. ಎರಡು ಚಿಹ್ನೆಗಳ ಒಂದು ಅಥವಾ ಎರಡೂ ಚಿಹ್ನೆಗಳು ಸಾಮಾನ್ಯ ಸಂಕೇತವಾಗಿದೆ.

1.

ಸಾಮಾನ್ಯ ಸಂಕೇತವನ್ನು ಒಂದು ಉಲ್ಲೇಖವಾಗಿ ತಿರುಗಿಸಿ, ಏಕೆಂದರೆ ಚಿಹ್ನೆಗೆ ಒಂದು ವ್ಯಾಖ್ಯಾನವಿದೆ.

(
): ಎಚ್ಚರಿಕೆ: ವ್ಯಾಖ್ಯಾನದ (
) ಮೂಲಕ `<ಚಿಹ್ನೆ> 'ಸಾಮಾನ್ಯವಾಗಿದೆ: ಎಚ್ಚರಿಕೆ: ಇಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ

2.

ಒಂದು ಸಾಮಾನ್ಯ ಸಂಕೇತವನ್ನು ಒಂದು ಉಲ್ಲೇಖವಾಗಿ ತಿರುಗಿಸಿ, ಏಕೆಂದರೆ ಸಂಕೇತದ ನಂತರದ ವ್ಯಾಖ್ಯಾನವು ಎದುರಾಗಿದೆ. ಇದು ಹಿಂದಿನ ಪ್ರಕರಣದಂತೆಯೇ ಇದೆ, ಸಂಕೇತಗಳನ್ನು ವಿಭಿನ್ನ ಕ್ರಮದಲ್ಲಿ ಎದುರಿಸಲಾಗುತ್ತದೆ ಹೊರತುಪಡಿಸಿ.

(
): ಎಚ್ಚರಿಕೆ: ` 'ಸಾಮಾನ್ಯ ವ್ಯಾಖ್ಯಾನ (
): ವ್ಯಾಖ್ಯಾನ: ಸಾಮಾನ್ಯ ಇಲ್ಲಿದೆ

3.

ಹಿಂದಿನ ಒಂದೇ ಗಾತ್ರದ ಸಾಮಾನ್ಯ ಸಂಕೇತದೊಂದಿಗೆ ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಯನ್ನು ವಿಲೀನಗೊಳಿಸುವುದು.

(
): ಎಚ್ಚರಿಕೆ: ` ' (
) ನ ಬಹು ಸಾಮಾನ್ಯ: ಎಚ್ಚರಿಕೆ: ಹಿಂದಿನ ಸಾಮಾನ್ಯ

4.

ಹಿಂದಿನ ದೊಡ್ಡ ಸಾಮಾನ್ಯ ಸಂಕೇತದೊಂದಿಗೆ ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಯನ್ನು ವಿಲೀನಗೊಳಿಸುವುದು.

(
): ಎಚ್ಚರಿಕೆ: ಸಾಮಾನ್ಯ (
) ನಿಂದ `<ಚಿಹ್ನೆ> 'ಅತಿಕ್ರಮಿಸಲ್ಪಟ್ಟಿದೆ: ಎಚ್ಚರಿಕೆ: ದೊಡ್ಡ ಸಾಮಾನ್ಯ ಇಲ್ಲಿದೆ

5.

ಹಿಂದಿನ ಸಣ್ಣ ಸಾಮಾನ್ಯ ಸಂಕೇತದೊಂದಿಗೆ ಸಾಮಾನ್ಯ ಚಿಹ್ನೆಯನ್ನು ವಿಲೀನಗೊಳಿಸುವುದು. ಇದು ಹಿಂದಿನ ಪ್ರಕರಣದಂತೆಯೇ ಇದೆ, ಸಂಕೇತಗಳನ್ನು ವಿಭಿನ್ನ ಕ್ರಮದಲ್ಲಿ ಎದುರಿಸಲಾಗುತ್ತದೆ ಹೊರತುಪಡಿಸಿ.

(
): ಎಚ್ಚರಿಕೆ: ಸಾಮಾನ್ಯ <`ಚಿಹ್ನೆ> 'ಸಾಮಾನ್ಯ ಸಾಮಾನ್ಯ (
) ಅತಿಕ್ರಮಿಸುತ್ತದೆ: ಎಚ್ಚರಿಕೆ: ಚಿಕ್ಕ ಸಾಮಾನ್ಯ

- ವಾರ್ನ್-ತಯಾರಕರು

ಯಾವುದೇ ಜಾಗತಿಕ ನಿರ್ಮಾಣಕಾರರು ಬಳಸುತ್ತಿದ್ದರೆ ಎಚ್ಚರಿಕೆ ನೀಡಿ. ಕೆಲವು ವಸ್ತು ಫೈಲ್ ಸ್ವರೂಪಗಳಿಗೆ ಮಾತ್ರ ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ. COFF ಅಥವಾ ELF ನಂತಹ ಸ್ವರೂಪಗಳಿಗೆ ಲಿಂಕ್ದಾರನು ಜಾಗತಿಕ ನಿರ್ಮಾಣಕಾರರ ಬಳಕೆಯನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಾಧ್ಯವಿಲ್ಲ.

--warn- ಬಹು- gp

ಔಟ್ಪುಟ್ ಫೈಲ್ನಲ್ಲಿ ಬಹು ಜಾಗತಿಕ ಪಾಯಿಂಟರ್ ಮೌಲ್ಯಗಳು ಅಗತ್ಯವಿದೆಯೇ ಎಂದು ಎಚ್ಚರಿಸು . ಆಲ್ಫಾ ನಂತಹ ಕೆಲವು ಪ್ರೊಸೆಸರ್ಗಳಿಗೆ ಮಾತ್ರ ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ, ಕೆಲವು ಪ್ರೊಸೆಸರ್ಗಳು ವಿಶೇಷ ವಿಭಾಗದಲ್ಲಿ ದೊಡ್ಡ-ಮೌಲ್ಯದ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಇಡುತ್ತವೆ. ಈ ವಿಭಾಗದ ಮಧ್ಯಭಾಗಕ್ಕೆ ವಿಶೇಷ ರಿಜಿಸ್ಟರ್ (ಜಾಗತಿಕ ಪಾಯಿಂಟರ್) ಸೂಚಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಬೇಸ್-ರಿಜಿಸ್ಟರ್ ಸಂಬಂಧಿತ ವಿಳಾಸ ಮೋಡ್ ಮೂಲಕ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಲೋಡ್ ಮಾಡಬಹುದು. ಬೇಸ್-ರಿಜಿಸ್ಟರ್ ಸಾಪೇಕ್ಷ ಕ್ರಮದಲ್ಲಿ ಆಫ್ಸೆಟ್ ನಿಶ್ಚಿತವಾಗಿರುವುದರಿಂದ ಮತ್ತು ತುಲನಾತ್ಮಕವಾಗಿ ಚಿಕ್ಕದಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, 16 ಬಿಟ್ಗಳು), ಇದು ಸ್ಥಿರ ಪೂಲ್ನ ಗರಿಷ್ಠ ಗಾತ್ರವನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ. ಹೀಗಾಗಿ, ದೊಡ್ಡ ಕಾರ್ಯಕ್ರಮಗಳಲ್ಲಿ, ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಎಂದು ಅನೇಕ ಜಾಗತಿಕ ಪಾಯಿಂಟರ್ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸುವುದು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಸಂಭವಿಸಿದಾಗ ಈ ಆಯ್ಕೆಯು ಒಂದು ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡಲಾಗುತ್ತದೆ.

- ಒಮ್ಮೆ-ಒಮ್ಮೆ

ಪ್ರತಿ ವಿವರಣಾತ್ಮಕ ಸಂಕೇತಕ್ಕೆ ಒಮ್ಮೆ ಮಾತ್ರ ಎಚ್ಚರಿಸು, ಅದು ಪ್ರತಿ ಭಾಗಕ್ಕೆ ಒಮ್ಮೆ ಸೂಚಿಸುತ್ತದೆ.

--warn- ವಿಭಾಗ- align

ಜೋಡಣೆಯ ಕಾರಣದಿಂದಾಗಿ ಒಂದು ಔಟ್ಪುಟ್ ವಿಭಾಗದ ವಿಳಾಸವು ಬದಲಾಗಿದೆಯೇ ಎಂದು ಎಚ್ಚರಿಸಿ. ವಿಶಿಷ್ಟವಾಗಿ, ಇನ್ಪುಟ್ ವಿಭಾಗದಿಂದ ಜೋಡಣೆ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತದೆ. ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ ವಿಳಾಸವನ್ನು ಮಾತ್ರ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ; ಅಂದರೆ, "SECTIONS" ಆಜ್ಞೆಯು ವಿಭಾಗದ ಪ್ರಾರಂಭದ ವಿಳಾಸವನ್ನು ಸೂಚಿಸದಿದ್ದರೆ.

- ವಾಲ್-ಆರ್ಕೈವ್

-whole- ಆರ್ಕೈವ್ ಆಯ್ಕೆಯ ನಂತರ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಪ್ರಸ್ತಾಪಿಸಲಾದ ಪ್ರತಿ ಆರ್ಕೈವ್ಗಾಗಿ, ಆರ್ಕೈವ್ನಲ್ಲಿರುವ ಪ್ರತಿ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಅಗತ್ಯವಾದ ವಸ್ತು ಫೈಲ್ಗಳಿಗಾಗಿ ಆರ್ಕೈವ್ ಅನ್ನು ಹುಡುಕುವ ಬದಲಾಗಿ ಲಿಂಕ್ನಲ್ಲಿರುತ್ತದೆ. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಆರ್ಕೈವ್ ಫೈಲ್ ಅನ್ನು ಹಂಚಿದ ಲೈಬ್ರರಿಗೆ ಪರಿವರ್ತಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ, ಇದರ ಪರಿಣಾಮವಾಗಿ ಹಂಚಿದ ಲೈಬ್ರರಿಯಲ್ಲಿ ಪ್ರತಿ ವಸ್ತುವನ್ನು ಸೇರಿಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಈ ಆಯ್ಕೆಯನ್ನು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಬಳಸಬಹುದು.

Gcc ಯಿಂದ ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸುವಾಗ ಎರಡು ಟಿಪ್ಪಣಿಗಳು: ಮೊದಲಿಗೆ, ಈ ಆಯ್ಕೆಯ ಬಗ್ಗೆ GCC ಗೆ ತಿಳಿದಿಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು -Wl, -hole-archive ಅನ್ನು ಬಳಸಬೇಕು. ಎರಡನೆಯದಾಗಿ, ನಿಮ್ಮ ಆರ್ಕೈವ್ಗಳ ಪಟ್ಟಿ ನಂತರ , ಎಲ್ಎಲ್, ಯಾವುದೇ-ಆರ್ಕೈವ್ ಅನ್ನು ಬಳಸಲು ಮರೆಯದಿರಿ, ಏಕೆಂದರೆ GCC ನಿಮ್ಮ ಲಿಂಕ್ನ ಆರ್ಕೈವ್ಸ್ ಅನ್ನು ತನ್ನ ಲಿಂಕ್ಗೆ ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಈ ಧ್ವಜವನ್ನೂ ಸಹ ನೀವು ಪರಿಣಾಮ ಬೀರಬಾರದು.

--wrap ಚಿಹ್ನೆ

ಚಿಹ್ನೆಗಾಗಿ ಒಂದು ಹೊದಿಕೆ ಕಾರ್ಯವನ್ನು ಬಳಸಿ. ಸಂಕೇತದ ಯಾವುದೇ ಸ್ಪಷ್ಟೀಕರಿಸದ ಉಲ್ಲೇಖವನ್ನು "__ wrap_symbol" ಗೆ ಪರಿಹರಿಸಲಾಗುವುದು. "__real_symbol" ಗೆ ಯಾವುದೇ ಸ್ಪಷ್ಟೀಕರಿಸದ ಉಲ್ಲೇಖವನ್ನು ಚಿಹ್ನೆ ಎಂದು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ.

ಸಿಸ್ಟಮ್ ಕಾರ್ಯಕ್ಕಾಗಿ ಒಂದು ಹೊದಿಕೆಯನ್ನು ಒದಗಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದು. ಹೊದಿಕೆಯ ಕಾರ್ಯವನ್ನು "__wrap_symbol" ಎಂದು ಕರೆಯಬೇಕು. ಸಿಸ್ಟಮ್ ಕಾರ್ಯವನ್ನು ಕರೆಯಲು ಬಯಸಿದರೆ, ಅದು "__ real_symbol" ಎಂದು ಕರೆ ಮಾಡಬೇಕು.

ಇಲ್ಲಿ ಒಂದು ಕ್ಷುಲ್ಲಕ ಉದಾಹರಣೆಯಾಗಿದೆ:

ನಿರರ್ಥಕ * __wrap_malloc (ಇಂಟ್ ಸಿ) {printf ("malloc% ld \ n" ಎಂದು ಕರೆದಿದೆ, ಸಿ); ಮರಳಿ __real_malloc (ಸಿ); }

--wrap malloc ಅನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಈ ಫೈಲ್ನೊಂದಿಗೆ ಇತರ ಕೋಡ್ ಅನ್ನು ಲಿಂಕ್ ಮಾಡಿದರೆ, ನಂತರ "malloc" ಗೆ ಎಲ್ಲಾ ಕರೆಗಳು "__wrap_malloc" ಎಂಬ ಕಾರ್ಯವನ್ನು ಕರೆಯುತ್ತವೆ. __wrap_malloc ನಲ್ಲಿ "__real_malloc" ಗೆ ಕರೆಯು ನಿಜವಾದ "malloc" ಕಾರ್ಯವನ್ನು ಕರೆಯುತ್ತದೆ.

ನೀವು ಸಹ "__real_malloc" ಕಾರ್ಯವನ್ನು ಒದಗಿಸಲು ಬಯಸಬಹುದು, ಆದ್ದರಿಂದ --wrap ಆಯ್ಕೆಯಿಲ್ಲದೆ ಸಂಪರ್ಕಗಳು ಯಶಸ್ವಿಯಾಗುತ್ತವೆ. ನೀವು ಇದನ್ನು ಮಾಡಿದರೆ, "___rap_malloc" ನಂತಹ ಅದೇ ಕಡತದಲ್ಲಿ "__ real_malloc" ನ ವ್ಯಾಖ್ಯಾನವನ್ನು ನೀವು ಹಾಕಬಾರದು; ನೀವು ಮಾಡಿದರೆ, ಸಂಯೋಜಕನು ಅದನ್ನು "malloc" ಗೆ ಬಿಂಬಿಸುವ ಅವಕಾಶವನ್ನು ಹೊಂದಿದ ಮೊದಲು ಅಸೆಂಬ್ಲರ್ ಕರೆಯನ್ನು ಪರಿಹರಿಸಬಹುದು.

--enable-new-dtags

- ನಿಷ್ಕ್ರಿಯಗೊಳಿಸು-ಹೊಸ- dtags

ಈ ಲಿಂಕ್ದಾರರು ELF ನಲ್ಲಿ ಹೊಸ ಡೈನಾಮಿಕ್ ಟ್ಯಾಗ್ಗಳನ್ನು ರಚಿಸಬಹುದು. ಆದರೆ ಹಳೆಯ ಇಎಫ್ಎಫ್ ವ್ಯವಸ್ಥೆಗಳು ಅವರಿಗೆ ಅರ್ಥವಾಗದಿರಬಹುದು. ನೀವು --enable-new-dtags ಅನ್ನು ಸೂಚಿಸಿದರೆ , ಅಗತ್ಯವಿರುವಂತೆ ಕ್ರಿಯಾತ್ಮಕ ಟ್ಯಾಗ್ಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ನೀವು -disable-new-dtags ಅನ್ನು ಸೂಚಿಸಿದರೆ , ಹೊಸ ಡೈನಾಮಿಕ್ ಟ್ಯಾಗ್ಗಳನ್ನು ರಚಿಸಲಾಗುವುದಿಲ್ಲ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಹೊಸ ಡೈನಾಮಿಕ್ ಟ್ಯಾಗ್ಗಳನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ. ಆ ಆಯ್ಕೆಗಳನ್ನು ಎಎಲ್ಎಲ್ಎಫ್ ವ್ಯವಸ್ಥೆಗಳಿಗಾಗಿ ಮಾತ್ರ ಲಭ್ಯವಿದೆ ಎಂದು ಗಮನಿಸಿ.

I386 PE ಲಿಂಕ್ದಾರರು- ಹಂಚಿದ ಆಯ್ಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ಸಾಮಾನ್ಯ ಕಾರ್ಯಗತಗೊಳ್ಳುವಿಕೆಯ ಬದಲಿಗೆ ಉತ್ಪಾದನೆಯನ್ನು ಕ್ರಿಯಾಶೀಲವಾಗಿ ಸಂಯೋಜಿತ ಗ್ರಂಥಾಲಯ (DLL) ಆಗಿ ಮಾಡುತ್ತದೆ. ಈ ಆಯ್ಕೆಯನ್ನು ನೀವು ಬಳಸಿದಾಗ ನೀವು "* .dll" ಔಟ್ಪುಟ್ಗೆ ಹೆಸರಿಸಬೇಕು. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಲಿಂಕ್ದಾರನು ಸಂಪೂರ್ಣವಾಗಿ "*. ಡಿಫ್" ಫೈಲ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತಾನೆ, ಇದು ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ನಂತಹ ಲಿಂಕ್ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದಾಗಿರುತ್ತದೆ (ವಾಸ್ತವವಾಗಿ, ಇದು ಆರ್ಕೈವ್ಗಳನ್ನು ಹಿಂದಿನಿಂದ ಚಿಹ್ನೆಗಳನ್ನು ರಫ್ತು ಮಾಡಬೇಕಾಗುತ್ತದೆ, ಸಾಮಾನ್ಯ ವಸ್ತು ಫೈಲ್ನಂತೆಯೇ).

ಎಲ್ಲಾ ಗುರಿಗಳಿಗೆ ಸಾಮಾನ್ಯವಾದ ಆಯ್ಕೆಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, i386 ಪಿಇ ಗುರಿಗೆ ನಿಶ್ಚಿತವಾದ ಹೆಚ್ಚುವರಿ ಆಜ್ಞಾ ಸಾಲಿನ ಆಯ್ಕೆಗಳನ್ನು i386 ಪಿಇ ಲಿಂಕ್ಕರ್ ಬೆಂಬಲಿಸುತ್ತದೆ. ಮೌಲ್ಯಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಆಯ್ಕೆಗಳು ಅವುಗಳ ಮೌಲ್ಯಗಳಿಂದ ಒಂದು ಜಾಗದಿಂದ ಅಥವಾ ಸಮ ಚಿಹ್ನೆಯಿಂದ ಬೇರ್ಪಡಿಸಬಹುದು.

--add-stdcall-alias

ನೀಡಿದರೆ, stdcall ಪ್ರತ್ಯಯದೊಂದಿಗೆ (@ nn ) ಚಿಹ್ನೆಗಳು ರಫ್ತು ಮಾಡಲಾಗುವುದು ಮತ್ತು ಪ್ರತ್ಯಯವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.

- ಬೇಸ್-ಫೈಲ್ ಫೈಲ್

DLL ಗಳನ್ನು dlltool ನೊಂದಿಗೆ ಉತ್ಪಾದಿಸಲು ಬೇಕಾದ ಎಲ್ಲಾ ಸ್ಥಳಗಳ ಬೇಸ್ ವಿಳಾಸಗಳನ್ನು ಉಳಿಸಲು ಫೈಲ್ನ ಹೆಸರಾಗಿ ಕಡತವನ್ನು ಬಳಸಿ.

--dll

ನಿಯಮಿತ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಬದಲು DLL ಅನ್ನು ರಚಿಸಿ. ನೀಡಲಾದ ".def" ಕಡತದಲ್ಲಿ ನೀವು ಸಹ- ಹಂಚಿಕೊಂಡಿರಬಹುದು ಅಥವಾ "ಲೈಬ್ರರಿ" ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.

--enable-stdcall-fixup

- ನಿಷ್ಕ್ರಿಯಗೊಳಿಸು- stdcall-fixup

ಲಿಂಕ್ ಪರಿಹರಿಸಲಾಗದ ಚಿಹ್ನೆಯನ್ನು ಕಂಡುಕೊಂಡರೆ, ಚಿಹ್ನೆಯ ಹೆಸರಿನ (CDDL vs stdcall) ರೂಪದಲ್ಲಿ ಮಾತ್ರ ಭಿನ್ನವಾಗಿರುವ ಮತ್ತೊಂದು ವ್ಯಾಖ್ಯಾನಿತ ಸಂಕೇತವನ್ನು ಹುಡುಕುವ ಮೂಲಕ ಅದು `ಅಸ್ಪಷ್ಟ ಲಿಂಕ್ ಮಾಡುವಿಕೆ 'ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ ಮತ್ತು ಲಿಂಕ್ ಮೂಲಕ ಆ ಚಿಹ್ನೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ ಪಂದ್ಯಕ್ಕೆ. ಉದಾಹರಣೆಗೆ, ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆ "_foo" "_foo @ 12" ಕಾರ್ಯಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಬಹುದು, ಅಥವಾ "_bar @ 16" ಎಂಬ ಸ್ಪಷ್ಟೀಕರಿಸದ ಚಿಹ್ನೆಯು "_bar" ಕಾರ್ಯಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಬಹುದು. ಲಿಂಕ್ ಮಾಡುವವರು ಇದನ್ನು ಮಾಡಿದಾಗ, ಇದು ಎಚ್ಚರಿಕೆಯನ್ನು ಮುದ್ರಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಲಿಂಕ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ, ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಮೂರನೇ-ವ್ಯಕ್ತಿ ಡಿಲ್ಗಳಿಂದ ರಚಿಸಲಾದ ಆಮದು ಗ್ರಂಥಾಲಯಗಳು ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು. ನೀವು --enable-stdcall-fixup ಅನ್ನು ಸೂಚಿಸಿದರೆ , ಈ ವೈಶಿಷ್ಟ್ಯವು ಸಂಪೂರ್ಣವಾಗಿ ಶಕ್ತಗೊಂಡಿದೆ ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಮುದ್ರಿಸಲಾಗುವುದಿಲ್ಲ. ನೀವು -disable-stdcall-fixup ಅನ್ನು ಸೂಚಿಸಿದರೆ , ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಅಂತಹ ಹೊಂದಿಕೆಗಳನ್ನು ದೋಷಗಳಾಗಿ ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

--ಎಕ್ಸ್ಪೋರ್ಟ್-ಆಲ್-ಸಿಂಬಲ್ಸ್

ನೀಡಿದರೆ, ಡಿಎಲ್ಎಲ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಬಳಸುವ ಎಲ್ಲ ಜಾಗತಿಕ ಸಂಕೇತಗಳು ಡಿಎಲ್ಎಲ್ನಿಂದ ರಫ್ತು ಮಾಡಲ್ಪಡುತ್ತವೆ. ಇಲ್ಲದಿದ್ದರೆ ಯಾವುದೇ ರಫ್ತು ಚಿಹ್ನೆಗಳಾಗಿರದೆ ಇದ್ದಲ್ಲಿ ಇದು ಡೀಫಾಲ್ಟ್ ಎಂದು ಗಮನಿಸಿ. ಸಂಕೇತಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ DEF ಫೈಲ್ಗಳ ಮೂಲಕ ರಫ್ತು ಮಾಡಲಾಗುವುದು ಅಥವಾ ಕಾರ್ಯದ ಗುಣಲಕ್ಷಣಗಳ ಮೂಲಕ ಸೂಚ್ಯವಾಗಿ ರಫ್ತು ಮಾಡಿದಾಗ, ಡೀಫಾಲ್ಟ್ ಈ ಆಯ್ಕೆಯನ್ನು ನೀಡದಿದ್ದರೆ ಬೇರೆ ಯಾವುದನ್ನಾದರೂ ರಫ್ತು ಮಾಡುವುದು. "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12", ಮತ್ತು "impure_ptr" ಚಿಹ್ನೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಫ್ತು ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಅಲ್ಲದೆ, ಇತರ ಡಿಎಲ್ಎಲ್ಗಳಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾದ ಚಿಹ್ನೆಗಳನ್ನು ಮರು-ರಫ್ತು ಮಾಡಲಾಗುವುದಿಲ್ಲ, ಅಥವಾ "_ಹೆಚ್" ಅಥವಾ "_ಇನ್" ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುವಂತಹ ಡಿಎಲ್ಎಲ್ನ ಆಂತರಿಕ ವಿನ್ಯಾಸವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಇದಲ್ಲದೆ, "libgcc", "libstd ++", "libmingw32", ಅಥವಾ "crtX.o" ನಿಂದ ಯಾವುದೇ ಚಿಹ್ನೆಗಳು ರಫ್ತು ಮಾಡಲಾಗುವುದು. C ++ DLL ಗಳಿಗೆ ಸಹಾಯ ಮಾಡಲು "__rtti_" ಅಥವಾ "__builtin_" ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಸಂಕೇತಗಳನ್ನು ರಫ್ತು ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಅಂತಿಮವಾಗಿ, ಸಿಗ್ವಿನ್-ಖಾಸಗಿ ಚಿಹ್ನೆಗಳನ್ನು ರಫ್ತು ಮಾಡಲಾಗುವುದಿಲ್ಲ (ಸ್ಪಷ್ಟವಾಗಿ, ಸೈಗ್ವಿನ್ ಗುರಿಗಳಿಗಾಗಿ ಡಿಎಲ್ಎಲ್ಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ ಇದು ಅನ್ವಯಿಸುತ್ತದೆ).

ಈ ಸೈಗ್ವಿನ್-ಹೊರತುಪಡಿಸಿದವುಗಳೆಂದರೆ: "_cygwin_dll_entry @ 12", "_cygwin_crt0_common @ 8", "_ ಸೈಗ್ವಿನ್_ಫೊನ್ಸಿಗ್ವಿನ್_ಡಲ್_ೆಂಟ್ರಿ @ 12", "_ಫ್ರೋಡ್", "_impure_ptr", "ಸೈಗ್ವಿನ್_ಟಾಚ್_ಡಲ್", "ಸೈಗ್ವಿನ್_ಪ್ರೆಮೆನ್0", "ಸೈಗ್ವಿನ್_ಪ್ರೆಮೈನ್ 1", "ಸಿಗ್ವಿನ್_ಪ್ರೆಮೈನ್ 1", "ಸಿಗ್ವಿನ್_ಪ್ರೆಮೈನ್ 2", "ಸೈಗ್ವಿನ್_ಪ್ರೆಮೆನ್ 3 ", ಮತ್ತು" ಎನ್ವಿರಾನ್ ".

--exclude-symbols symbol , symbol , ...

ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಫ್ತು ಮಾಡಬಾರದು ಚಿಹ್ನೆಗಳ ಪಟ್ಟಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಸಂಕೇತದ ಹೆಸರುಗಳನ್ನು ಅಲ್ಪವಿರಾಮದಿಂದ ಅಥವಾ ಕೋಲನ್ಗಳಿಂದ ವಿಂಗಡಿಸಬಹುದು.

--exclude-libs lib , lib , ...

ಯಾವ ಚಿಹ್ನೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಫ್ತು ಮಾಡಬಾರದು ಎಂಬ ಆರ್ಕೈವ್ ಗ್ರಂಥಾಲಯಗಳ ಪಟ್ಟಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಗ್ರಂಥಾಲಯದ ಹೆಸರುಗಳನ್ನು ಅಲ್ಪವಿರಾಮದಿಂದ ಅಥವಾ ಕೋಲನ್ಗಳಿಂದ ವಿಂಗಡಿಸಬಹುದು. "--exclude-libs ALL" ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು ಸ್ವಯಂಚಾಲಿತ ರಫ್ತುದಿಂದ ಎಲ್ಲಾ ಆರ್ಕೈವ್ ಗ್ರಂಥಾಲಯಗಳಲ್ಲಿ ಚಿಹ್ನೆಗಳನ್ನು ಹೊರತುಪಡಿಸುತ್ತದೆ. .def ಕಡತದಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ಪಟ್ಟಿಮಾಡಲಾದ ಚಿಹ್ನೆಗಳು ಈ ಆಯ್ಕೆಯ ಹೊರತಾಗಿಯೂ ಇನ್ನೂ ರಫ್ತು ಮಾಡಲಾಗುತ್ತದೆ.

--file-alignment

ಫೈಲ್ ಜೋಡಣೆ ಅನ್ನು ಸೂಚಿಸಿ. ಫೈಲ್ನಲ್ಲಿನ ವಿಭಾಗಗಳು ಯಾವಾಗಲೂ ಈ ಸಂಖ್ಯೆಯ ಮಲ್ಟಿಪಲ್ಗಳಾಗಿರುವ ಫೈಲ್ ಆಫ್ಸೆಟ್ಗಳಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಇದು 512 ಗೆ ಡಿಫಾಲ್ಟ್ ಆಗಿರುತ್ತದೆ.

- ಹೀಪ್ ಮೀಸಲು

- ಹೇಪ್ ರಿಸರ್ವ್ , ಬದ್ಧತೆ

ಈ ಪ್ರೋಗ್ರಾಂಗೆ ರಾಶಿಯಾಗಿ ಬಳಸಬೇಕಾದ ಮೀಸಲು (ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಬದ್ಧತೆ) ಸ್ಮರಣೆಯ ಪ್ರಮಾಣವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ 1MB ಮೀಸಲಾಗಿದೆ, 4 ಕೆ ಬದ್ಧವಾಗಿದೆ.

--image- ಬೇಸ್ ಮೌಲ್ಯ

ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಅಥವಾ dll ನ ಮೂಲ ವಿಳಾಸವಾಗಿ ಮೌಲ್ಯವನ್ನು ಬಳಸಿ. ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಅಥವಾ DLL ಅನ್ನು ಲೋಡ್ ಮಾಡುವಾಗ ಬಳಸಲಾಗುವ ಕಡಿಮೆ ಸ್ಮರಣೆ ಸ್ಥಳ ಇದು. ನಿಮ್ಮ dll ಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸ್ಥಳಾಂತರಿಸುವುದು ಮತ್ತು ಸುಧಾರಿಸುವ ಅಗತ್ಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ಪ್ರತಿ ಒಂದು ಅನನ್ಯ ಮೂಲ ವಿಳಾಸವನ್ನು ಹೊಂದಿರಬೇಕು ಮತ್ತು ಯಾವುದೇ ಇತರ dll ಗಳನ್ನು ಅತಿಕ್ರಮಿಸಬಾರದು. ಡೀಫಾಲ್ಟ್ ಆಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳಬಹುದಾದ 0x400000, ಮತ್ತು dlls ಗಾಗಿ 0x10000000.

- ಕಿಲ್-ಅಟ್

ನೀಡಿದರೆ, ಅವರು ರಫ್ತು ಮಾಡುವ ಮೊದಲು ಚಿಹ್ನೆಗಳಿಂದ stdcall ಪ್ರತ್ಯಯಗಳು (@ nn ) ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.

- ಪ್ರಮುಖ-ಚಿತ್ರ-ಆವೃತ್ತಿ ಮೌಲ್ಯ

`ಇಮೇಜ್ ಆವೃತ್ತಿಯ 'ಪ್ರಮುಖ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸುತ್ತದೆ. 1 ಗೆ ಡೀಫಾಲ್ಟ್.

- ಮೇಜರ್- os- ಆವೃತ್ತಿ ಮೌಲ್ಯ

`ಓಎಸ್ ಆವೃತ್ತಿಯ 'ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸುತ್ತದೆ. 4 ಗೆ ಡಿಫಾಲ್ಟ್.

- ಪ್ರಮುಖ-ಉಪವ್ಯವಸ್ಥೆ-ಆವೃತ್ತಿ ಮೌಲ್ಯ

`` ಉಪವ್ಯವಸ್ಥೆಯ ಆವೃತ್ತಿ '' ಅನ್ನು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯಲ್ಲಿ ಹೊಂದಿಸುತ್ತದೆ. 4 ಗೆ ಡಿಫಾಲ್ಟ್.

--minor- ಚಿತ್ರ-ಆವೃತ್ತಿ ಮೌಲ್ಯ

`` ಇಮೇಜ್ ಆವೃತ್ತಿಯ '' ಸಣ್ಣ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸುತ್ತದೆ. 0 ಗೆ ಡಿಫಾಲ್ಟ್ಗಳು.

--minor-os- ಆವೃತ್ತಿ ಮೌಲ್ಯ

`` ಓಎಸ್ ಆವೃತ್ತಿಯ '' ಸಣ್ಣ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸುತ್ತದೆ. 0 ಗೆ ಡಿಫಾಲ್ಟ್ಗಳು.

--minor- ಉಪವ್ಯವಸ್ಥೆ-ಆವೃತ್ತಿ ಮೌಲ್ಯ

ಸಣ್ಣ ಸಂಖ್ಯೆಯ `ಉಪವ್ಯವಸ್ಥೆಯ ಆವೃತ್ತಿ 'ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ. 0 ಗೆ ಡಿಫಾಲ್ಟ್ಗಳು.

--output-def ಕಡತ

ಲಿಂಕ್ ಮಾಡುವವನು ಫೈಲ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತಾನೆ, ಇದು ಲಿಂಕ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸುವ DLL ಗೆ ಅನುಗುಣವಾಗಿ DEF ಫೈಲ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. "DElltool" ನೊಂದಿಗೆ ಆಮದು ಗ್ರಂಥಾಲಯವನ್ನು ರಚಿಸಲು ಈ DEF ಕಡತವನ್ನು ("* .def" ಎಂದು ಕರೆಯಬೇಕಾದ) ಬಳಸಬಹುದು ಅಥವಾ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಥವಾ ಸೂಚ್ಯವಾಗಿ ರಫ್ತು ಮಾಡಲಾದ ಚಿಹ್ನೆಗಳ ಉಲ್ಲೇಖವಾಗಿ ಬಳಸಬಹುದು.

--out-implib ಫೈಲ್

ಲಿಂಕ್ ಮಾಡುವವನು ಫೈಲ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತಾನೆ, ಅದು ಲಿಂಕರ್ ಉತ್ಪಾದಿಸುವ DLL ಗೆ ಅನುಗುಣವಾಗಿ ಆಮದು ಲಿಬ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಈ ಆಮದು ಲಿಬ್ ("* .dll.a" ಅಥವಾ "* .a" ಎಂದು ಕರೆಯಬೇಕಾದರೆ ಇದನ್ನು ಉತ್ಪಾದಿಸಲಾದ DLL ಗೆ ವಿರುದ್ಧವಾಗಿ ಕ್ಲೈಂಟ್ಗಳನ್ನು ಲಿಂಕ್ ಮಾಡಲು ಬಳಸಬಹುದು; ಈ ವರ್ತನೆಯು ಪ್ರತ್ಯೇಕ "dlltool" ಆಮದು ಲೈಬ್ರರಿ ಸೃಷ್ಟಿ ಹಂತವನ್ನು ತೆರವುಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.

ಸ್ವಯಂ-ಇಮೇಜ್-ಬೇಸ್ - ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು

"--image- ಬೇಸ್" ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ದಿಷ್ಟಪಡಿಸದ ಹೊರತು DLL ಗಳಿಗಾಗಿ ಇಮೇಜ್ ಬೇಸ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಿ. Dllname ನಿಂದ ರಚಿಸಲಾದ ಹ್ಯಾಶ್ ಅನ್ನು ಪ್ರತಿ ಡಿಎಲ್ಎಲ್ಗಾಗಿ ಅನನ್ಯ ಇಮೇಜ್ ಬೇಸ್ಗಳನ್ನು ರಚಿಸುವ ಮೂಲಕ, ಇನ್-ಮೆಮೊರಿ ಡಿಕ್ಕಿಗಳು ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಮರಣದಂಡನೆಯನ್ನು ವಿಳಂಬಗೊಳಿಸುವ ಸ್ಥಳಾಂತರಗಳನ್ನು ತಪ್ಪಿಸಬಹುದು.

- ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು-ಸ್ವಯಂ-ಚಿತ್ರ-ಬೇಸ್

ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಒಂದು ಅನನ್ಯ ಇಮೇಜ್ ಬೇಸ್ ಅನ್ನು ಉತ್ಪಾದಿಸಬೇಡಿ. ಬಳಕೆದಾರ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಇಮೇಜ್ ಬೇಸ್ ಇಲ್ಲದಿದ್ದರೆ ("--image-base") ನಂತರ ವೇದಿಕೆ ಡೀಫಾಲ್ಟ್ ಅನ್ನು ಬಳಸಿ.

--dll- ಹುಡುಕಾಟ-ಪೂರ್ವಪ್ರತ್ಯಯದ ಸ್ಟ್ರಿಂಗ್

ಆಮದು ಲೈಬ್ರರಿಯಿಲ್ಲದೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ dll ಗೆ ಲಿಂಕ್ ಮಾಡುವಾಗ, "lib .dll" ಗೆ ಆದ್ಯತೆಯಾಗಿ " .dll" ಗಾಗಿ ಹುಡುಕಿ. ಉದಾಹರಣೆಗೆ, ಸಿಗ್ವಿನ್ ಡಿಎಲ್ಎಲ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ "--dll- ಹುಡುಕಾಟ-ಪೂರ್ವಪ್ರತ್ಯಯ = ಸೈಗ್" ಅನ್ನು ಬಳಸುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ವಿವಿಧ `` ಉಪವರ್ಗಗಳಿಗೆ '' ನಿರ್ಮಿಸಲಾದ ಡಿಎಲ್ಎಲ್ಗಳ ನಡುವೆ ಸುಲಭವಾದ ವ್ಯತ್ಯಾಸವನ್ನು ಈ ವರ್ತನೆಯು ಅನುಮತಿಸುತ್ತದೆ.

ಸ್ವಯಂ ಆಮದು - ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು

DLL ಗಳಿಂದ DATA ಆಮದುಗಳಿಗಾಗಿ "_symbol" ನಿಂದ "__imp__symbol" ನ ಅತ್ಯಾಧುನಿಕ ಲಿಂಕ್ ಮಾಡುವಿಕೆ ಮಾಡಿ, ಮತ್ತು ಆ DATAexports ನೊಂದಿಗೆ ಆಮದು ಗ್ರಂಥಾಲಯಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ ಅವಶ್ಯಕವಾದ ಥುನ್ಕಿಂಗ್ ಚಿಹ್ನೆಗಳನ್ನು ರಚಿಸಿ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ 'ಕೆಲಸ' ಮಾಡುತ್ತದೆ --- ಆದರೆ ಕೆಲವೊಮ್ಮೆ ನೀವು ಈ ಸಂದೇಶವನ್ನು ನೋಡಬಹುದು:

"ವೇರಿಯಬಲ್ '' ಸ್ವಯಂ-ಆಮದು ಮಾಡಲಾಗುವುದಿಲ್ಲ. ವಿವರಗಳಿಗಾಗಿ ld ನ" ಸ್ವಯಂ-ಆಮದು - ಸಕ್ರಿಯಗೊಳಿಸಬಲ್ಲದು "ಗಾಗಿ ದಸ್ತಾವೇಜನ್ನು ಓದಿ.

ಕೆಲವು (ಉಪ) ಅಭಿವ್ಯಕ್ತಿ ಅಂತಿಮವಾಗಿ ಎರಡು ಸ್ಥಿರಾಂಕಗಳ ಮೊತ್ತದಿಂದ ನೀಡಲ್ಪಟ್ಟ ವಿಳಾಸವನ್ನು ಪ್ರವೇಶಿಸುವಾಗ ಈ ಸಂದೇಶವು ಸಂಭವಿಸುತ್ತದೆ (Win32 ಆಮದು ಕೋಷ್ಟಕಗಳು ಕೇವಲ ಒಂದನ್ನು ಮಾತ್ರ ಅನುಮತಿಸುತ್ತವೆ). ಇದು ಸಂಭವಿಸಬಹುದಾದ ಸಂದರ್ಭಗಳಲ್ಲಿ DLL ನಿಂದ ಆಮದು ಮಾಡಲಾದ struct ವೇರಿಯಬಲ್ಗಳ ಸದಸ್ಯ ಕ್ಷೇತ್ರಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಹಾಗೆಯೇ ಒಂದು DLL ನಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳುವ ವ್ಯೂಹ ವೇರಿಯೇಬಲ್ಗೆ ನಿರಂತರ ಸೂಚಿಯನ್ನು ಬಳಸುವುದು. ಯಾವುದೇ ಬಹುವರ್ಗದ ವೇರಿಯಬಲ್ (ರಚನೆಗಳು, ಸ್ಟ್ರಕ್ಟ್ಗಳು, ದೀರ್ಘ ಉದ್ದ, ಇತ್ಯಾದಿ) ಈ ದೋಷ ಸ್ಥಿತಿಯನ್ನು ಪ್ರಚೋದಿಸಬಹುದು. ಹೇಗಾದರೂ, ಅಪರಾಧದ ರಫ್ತು ಮಾಡಲಾದ ವೇರಿಯಬಲ್ನ ನಿಖರ ಮಾಹಿತಿಯ ಪ್ರಕಾರವಾಗಿ, ld ಯಾವಾಗಲೂ ಅದನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ, ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡಿ, ನಿರ್ಗಮಿಸುತ್ತದೆ.

ರಫ್ತು ಮಾಡಲಾದ ವೇರಿಯಬಲ್ನ ಡೇಟಾ ಪ್ರಕಾರದ ಹೊರತಾಗಿಯೂ, ಈ ತೊಂದರೆಗಳನ್ನು ಬಗೆಹರಿಸಲು ಹಲವು ಮಾರ್ಗಗಳಿವೆ:

ರನ್-ಟೈಮ್-ಸ್ಯೂಡೋ-ರಿಲೋಕ್ ಸ್ವಿಚ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಒಂದು ಮಾರ್ಗವಾಗಿದೆ. ಇದು ರನ್ಟೈಮ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ಗಾಗಿ ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ಕೋಡ್ನಲ್ಲಿ ಉಲ್ಲೇಖಗಳನ್ನು ಸರಿಹೊಂದಿಸುವ ಕಾರ್ಯವನ್ನು ಬಿಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಈ ವಿಧಾನವು ರನ್ಟೈಮ್ ಎನ್ವಿರಾಂಟ್ಮೆಂಟ್ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬೆಂಬಲಿಸಿದಾಗ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಎರಡನೇ ಸ್ಥಿತಿಯು 'ಸ್ಥಿರಾಂಕಗಳಲ್ಲಿ' ಒಂದು ವೇರಿಯೇಬಲ್ ಎಂದು ಒತ್ತಾಯಿಸುವುದು --- ಅಂದರೆ, ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಅಜ್ಞಾತ ಮತ್ತು ಅನ್-ಆಪ್ಟಿಮೈಸೇಶನ್. ಸರಣಿಗಳಿಗೆ, ಎರಡು ಸಾಧ್ಯತೆಗಳಿವೆ: a) ಸೂಚಕವನ್ನು (ರಚನೆಯ ವಿಳಾಸ) ವೇರಿಯಬಲ್ ಮಾಡಲು, ಅಥವಾ ಬೌ) 'ಸ್ಥಿರ' ಸೂಚ್ಯಂಕವನ್ನು ವೇರಿಯೇಬಲ್ ಮಾಡಿ. ಹೀಗೆ:

ಬಾಹ್ಯ ಮಾದರಿ extern_array []; extern_array [1] -> {ಬಾಷ್ಪಶೀಲ ಮಾದರಿ * t = extern_array; ಟಿ [1]}

ಅಥವಾ

ಬಾಹ್ಯ ಮಾದರಿ extern_array []; extern_array [1] -> {ಬಾಷ್ಪಶೀಲ ಇಂಟ್ t = 1; extern_array [t]}

ಸ್ಟ್ರಕ್ಟ್ಸ್ಗಾಗಿ (ಮತ್ತು ಇತರ ಬಹು ಪದಗಳ ಡೇಟಾ ಪ್ರಕಾರಗಳು) ಕೇವಲ ಸ್ವತಃ ಆಕಾರವನ್ನು (ಅಥವಾ ದೀರ್ಘ ಉದ್ದ, ಅಥವಾ ...) ವೇರಿಯೇಬಲ್ ಮಾಡುವುದು ಮಾತ್ರ:

ಬಾಹ್ಯ struct ಗಳು extern_struct; extern_struct.field -> {ಬಾಷ್ಪಶೀಲ struct s * t = ಮತ್ತು extern_struct; t-> ಕ್ಷೇತ್ರ}

ಅಥವಾ

ಬಾಹ್ಯ ದೀರ್ಘ ದೀರ್ಘ extern_ll; extern_ll -> {ಬಾಷ್ಪಶೀಲ ದೀರ್ಘಾವಧಿಯ * local_ll = ಮತ್ತು extern_ll; * local_ll}

ಈ ತೊಂದರೆ ಎದುರಿಸಲು ಮೂರನೆಯ ವಿಧಾನವು ಅಪರಾಧ ಚಿಹ್ನೆಗಾಗಿ 'ಸ್ವಯಂ-ಆಮದು' ಅನ್ನು ತ್ಯಜಿಸುವುದು ಮತ್ತು ಅದನ್ನು "__declspec (dllimport)" ಎಂದು ಗುರುತಿಸುವುದು. ಆದಾಗ್ಯೂ, ನೀವು ಡಿಎಲ್ಎಲ್, ಬಿಲ್ಡಿಂಗ್ ಕ್ಲೈಂಟ್ ಕೋಡ್ ಅನ್ನು ಡಿಎಲ್ಎಲ್ಗೆ ಲಿಂಕ್ ಮಾಡಲಿ, ಅಥವಾ ಕೇವಲ ಸ್ಟ್ಯಾಂಡಿಕ್ ಗ್ರಂಥಾಲಯಕ್ಕೆ ಸಂಪರ್ಕ ಕಲ್ಪಿಸುತ್ತಿದ್ದೀರಾ ಎಂಬುದನ್ನು ಸೂಚಿಸಲು ಕಂಪೈಲ್-ಟೈಮ್ # ಅನ್ನು ವಿವರಿಸುತ್ತದೆ. 'ಸ್ಥಿರ ಆಫ್ಸೆಟ್ನೊಂದಿಗಿನ ನೇರ ವಿಳಾಸವನ್ನು' ಪರಿಹರಿಸುವ ವಿವಿಧ ವಿಧಾನಗಳ ನಡುವೆ ಆಯ್ಕೆಯಲ್ಲಿ, ನೀವು ವಿಶಿಷ್ಟ ನೈಜ-ಪ್ರಪಂಚದ ಬಳಕೆಯನ್ನು ಪರಿಗಣಿಸಬೇಕು:

ಮೂಲ:

--foo.h ಬಾಹ್ಯ ಇಂಟ್ ಆಗರು []; --foo.c # "foo.h" ಶೂನ್ಯ ಮುಖ್ಯ (ಇಂಟ್ ಆರ್ಆರ್ಸಿ, ಚಾರ್ ** ಆರ್ಗ್ವಿ) {printf ("% d \ n", arr [1]) ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ; }

ಪರಿಹಾರ 1:

--foo.h ಬಾಹ್ಯ ಇಂಟ್ ಆಗರು []; --foo.c # "foo.h" ಶೂನ್ಯ ಮುಖ್ಯ (ಇಂಟ್ ಆರ್ಆರ್ಸಿ, ಚಾರ್ ** argv) {/ * ಈ ಕಾರ್ಯಶೀಲತೆ win32 ಮತ್ತು cygwin ಗೆ ಸೇರಿದೆ; "ಅತ್ಯುತ್ತಮವಾಗಿಸು" * / ಬಾಷ್ಪಶೀಲ ಇಂಟ್ * ಪಾರ್ರ್ = ಆಗಲಿ; printf ("% d \ n", parr [1]); }

ಪರಿಹಾರ 2:

--foo.h / * ಗಮನಿಸಿ: ಸ್ವಯಂ-ರಫ್ತು ಊಹಿಸಲಾಗಿದೆ (ಯಾವುದೇ __declspec (dllexport)) * / #if (ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ (_WIN32) || ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ (__ CYGWIN__)) && \! (ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ (FOO_BUILD_DLL) || ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ (FOO_STATIC )) # FOO_IMPORT __declspec (dllimport) #else # ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ FOO_IMPORT # ಎಫ್ಎನ್ಡಿಎಫ್ ಬಾಹ್ಯ FOO_IMPORT ಇಂಟ್ ಆರ್ಡರ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ; --foo.c # "foo.h" ಶೂನ್ಯ ಮುಖ್ಯ (ಇಂಟ್ ಆರ್ಆರ್ಸಿ, ಚಾರ್ ** ಆರ್ಗ್ವಿ) {printf ("% d \ n", arr [1]) ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ; }

ಈ ಸಮಸ್ಯೆಯನ್ನು ತಪ್ಪಿಸಲು ನಾಲ್ಕನೆಯ ಮಾರ್ಗವೆಂದರೆ ಅಪರಾಧದ ಅಸ್ಥಿರಗಳ (ಉದಾಹರಣೆಗೆ set_foo () ಮತ್ತು get_foo () ಪ್ರವೇಶ ಕಾರ್ಯಗಳನ್ನು) ಒಂದು ಡೇಟಾ ಇಂಟರ್ಫೇಸ್ ಬದಲಿಗೆ ಕ್ರಿಯಾತ್ಮಕ ಇಂಟರ್ಫೇಸ್ ಬಳಸಲು ನಿಮ್ಮ ಗ್ರಂಥಾಲಯದ ಮರು-ಕೋಡ್ ಮಾಡುವುದು.

- ನಿಷ್ಕ್ರಿಯಗೊಳಿಸು-ಸ್ವಯಂ-ಆಮದು

DLL ಗಳಿಂದ DATAimports ಗಾಗಿ "_symbol" ಯಿಂದ "__imp__symbol" ಗೆ ಸಂಬಂಧಪಟ್ಟ ಲಿಂಕ್ಗಳನ್ನು ಮಾಡಲು ಪ್ರಯತ್ನಿಸಬೇಡಿ.

--enable-runtime-pseudo-reloc

ನಿಮ್ಮ ಕೋಡ್ -ಆನ್-ಆಮದು-ಸ್ವಯಂ-ಆಮದು ವಿಭಾಗದಲ್ಲಿ ವಿವರಿಸಿರುವ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಡಿ.ಎಲ್.ಎಲ್ನಿಂದ ಶೂನ್ಯ-ಅಲ್ಲದ ಆಫ್ಸೆಟ್ನೊಂದಿಗೆ ಡೇಟಾ ಆಮದುಗಳು, ಈ ಸ್ವಿಚ್ 'ರನ್ಟೈಮ್ ಸ್ಯೂಡೋ ರಿಪೊಕ್ಶೇಷನ್ಸ್' ನ ವೆಕ್ಟರ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ, ಇದು ರೆಫರೇಶನ್ಗಳನ್ನು ಸರಿಹೊಂದಿಸಲು ರನ್ಟೈಮ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ನಿಂದ ಬಳಸಬಹುದು ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ಕೋಡ್ನಲ್ಲಿ ಅಂತಹ ಡೇಟಾಗೆ.

- ನಿಷ್ಕ್ರಿಯಗೊಳಿಸು-ರನ್ಟೈಮ್-ಸ್ಯೂಡೋ-ರಿಲೋಕ್

ಡಿಎಲ್ಎಲ್ಗಳಿಂದ ಶೂನ್ಯ-ಅಲ್ಲದ ಆಫ್ಸೆಟ್ ಡಾಟಾ ಆಮದುಗಳಿಗೆ ಹುಸಿ ಸ್ಥಳಾಂತರಗಳನ್ನು ರಚಿಸಬೇಡಿ. ಇದು ಡೀಫಾಲ್ಟ್ ಆಗಿದೆ.

--enable-extra-pe-debug

ಸ್ವಯಂ-ಆಮದು ಚಿಹ್ನೆ ಥುನ್ಕಿಂಗ್ಗೆ ಸಂಬಂಧಿಸಿದ ಹೆಚ್ಚುವರಿ ಡಿಬಗ್ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸಿ.

- ವಿಭಾಗ-ಜೋಡಣೆ

ವಿಭಾಗ ಜೋಡಣೆ ಹೊಂದಿಸುತ್ತದೆ. ಮೆಮೊರಿಯಲ್ಲಿನ ವಿಭಾಗಗಳು ಯಾವಾಗಲೂ ಈ ಸಂಖ್ಯೆಯ ಬಹುಸಂಖ್ಯೆಯ ವಿಳಾಸಗಳಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. 0x1000 ಗೆ ಡೀಫಾಲ್ಟ್.

- ಸ್ಟಾಕ್ ಮೀಸಲು

- ಸ್ಟಾಕ್ ಮೀಸಲು , ಬದ್ಧತೆ

ಈ ಪ್ರೋಗ್ರಾಂಗೆ ಸ್ಟಾಕ್ ಆಗಿ ಬಳಸಲು ಮೀಸಲು (ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಬದ್ಧತೆ) ಮೆಮೊರಿಯನ್ನು ಪ್ರಮಾಣವನ್ನು ಸೂಚಿಸಿ. ಡೀಫಾಲ್ಟ್ 2Mb ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ, 4K ಬದ್ಧವಾಗಿದೆ.

- ಸಬ್ಸಿಸ್ಟಮ್ ಇದು

- ಸಬ್ಸಿಸ್ಟಮ್ ಇದು : ಪ್ರಮುಖ

- ಸಬ್ಸಿಸ್ಟಮ್ ಇದು : ಪ್ರಮುಖ . ಸಣ್ಣ

ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಉಪವ್ಯವಸ್ಥೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. "ಸ್ಥಳೀಯ", "ವಿಂಡೋಸ್", "ಕನ್ಸೋಲ್" ಮತ್ತು "ಪೊಸಿಕ್ಸ್" ಇವುಗಳಿಗೆ ಕಾನೂನು ಮೌಲ್ಯಗಳು. ನೀವು ಸಹ ಉಪವ್ಯವಸ್ಥೆಯ ಆವೃತ್ತಿಯನ್ನು ಐಚ್ಛಿಕವಾಗಿ ಹೊಂದಿಸಬಹುದು.

ನೆನಪಿಡಿ: ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಗಣಕದಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನೋಡಲು man ಆದೇಶ ( % man ) ಅನ್ನು ಬಳಸಿ.