-
-
Notifications
You must be signed in to change notification settings - Fork 54
Expand file tree
/
Copy pathctypes.po
More file actions
3034 lines (2629 loc) · 152 KB
/
ctypes.po
File metadata and controls
3034 lines (2629 loc) · 152 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2017, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-07-15 15:23+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Dong-gweon Oh <flowdas@gmail.com>\n"
"Language-Team: Korean (https://python.flowdas.com)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.7.0\n"
#: ../Doc/library/ctypes.rst:2
msgid ":mod:`ctypes` --- A foreign function library for Python"
msgstr ":mod:`ctypes` --- 파이썬용 외부 함수 라이브러리"
#: ../Doc/library/ctypes.rst:11
msgid ""
":mod:`ctypes` is a foreign function library for Python. It provides C "
"compatible data types, and allows calling functions in DLLs or shared "
"libraries. It can be used to wrap these libraries in pure Python."
msgstr ""
":mod:`ctypes`\\는 파이썬용 외부 함수(foreign function) 라이브러리입니다. C 호환 데이터형을 제공하며, "
"DLL 또는 공유 라이브러리에 있는 함수를 호출할 수 있습니다. 이 라이브러리들을 순수 파이썬으로 감싸는 데 사용할 수 있습니다."
#: ../Doc/library/ctypes.rst:19
msgid "ctypes tutorial"
msgstr "ctypes 자습서"
#: ../Doc/library/ctypes.rst:21
msgid ""
"Note: The code samples in this tutorial use :mod:`doctest` to make sure "
"that they actually work. Since some code samples behave differently "
"under Linux, Windows, or Mac OS X, they contain doctest directives in "
"comments."
msgstr ""
"참고: 이 자습서의 코드 예제는 :mod:`doctest`\\를 사용하여 실제로 작동하는지 확인합니다. 일부 코드 예제는 리눅스, "
"윈도우 또는 맥 OS X에서 다르게 동작하므로, 주석에 doctest 지시문이 포함되어 있습니다."
#: ../Doc/library/ctypes.rst:25
msgid ""
"Note: Some code samples reference the ctypes :class:`c_int` type. On "
"platforms where ``sizeof(long) == sizeof(int)`` it is an alias to "
":class:`c_long`. So, you should not be confused if :class:`c_long` is "
"printed if you would expect :class:`c_int` --- they are actually the same"
" type."
msgstr ""
"참고: 일부 코드 예제는 ctypes :class:`c_int` 형을 참조합니다. ``sizeof(long) == "
"sizeof(int)``\\인 플랫폼에서, 이는 :class:`c_long`\\의 별칭입니다. 따라서 "
":class:`c_int`\\를 기대할 때 :class:`c_long`\\가 인쇄되더라도 혼란스러워하지 않아도 됩니다 --- "
"이것들은 실제로 같은 형입니다."
#: ../Doc/library/ctypes.rst:33
msgid "Loading dynamic link libraries"
msgstr "동적 링크 라이브러리 로드하기"
#: ../Doc/library/ctypes.rst:35
msgid ""
":mod:`ctypes` exports the *cdll*, and on Windows *windll* and *oledll* "
"objects, for loading dynamic link libraries."
msgstr ""
":mod:`ctypes`\\는 동적 링크 라이브러리 로드를 위해 *cdll*\\을, 그리고 윈도우에서는 *windll* 및 "
"*oledll* 객체를, 노출합니다."
#: ../Doc/library/ctypes.rst:38
msgid ""
"You load libraries by accessing them as attributes of these objects. "
"*cdll* loads libraries which export functions using the standard "
"``cdecl`` calling convention, while *windll* libraries call functions "
"using the ``stdcall`` calling convention. *oledll* also uses the "
"``stdcall`` calling convention, and assumes the functions return a "
"Windows :c:type:`HRESULT` error code. The error code is used to "
"automatically raise an :class:`OSError` exception when the function call "
"fails."
msgstr ""
"이 객체의 어트리뷰트를 액세스하여 라이브러리를 로드합니다. *cdll*\\은 표준 ``cdecl`` 호출 규칙을 사용하는 함수를 "
"내보내는 라이브러리를 로드하는 반면, *windll* 라이브러리는 ``stdcall`` 호출 규칙을 사용하여 함수를 호출합니다. "
"*oledll* 또한 ``stdcall`` 호출 규칙을 사용하고, 함수가 윈도우 :c:type:`HRESULT` 에러 코드를 "
"반환한다고 가정합니다. 에러 코드는 함수 호출이 실패할 때 :class:`OSError` 예외를 자동으로 발생시키는 데 사용됩니다."
#: ../Doc/library/ctypes.rst:46
msgid ""
"Windows errors used to raise :exc:`WindowsError`, which is now an alias "
"of :exc:`OSError`."
msgstr "윈도우 에러는 :exc:`WindowsError`\\를 일으켜왔습니다. 이제는 :exc:`OSError`\\의 별칭입니다."
#: ../Doc/library/ctypes.rst:51
msgid ""
"Here are some examples for Windows. Note that ``msvcrt`` is the MS "
"standard C library containing most standard C functions, and uses the "
"cdecl calling convention::"
msgstr ""
"다음은 윈도우 용 예제입니다. ``msvcrt``\\는 대부분 표준 C 함수가 포함된 MS 표준 C 라이브러리며, cdecl 호출 "
"규칙을 사용합니다::"
#: ../Doc/library/ctypes.rst:63
msgid "Windows appends the usual ``.dll`` file suffix automatically."
msgstr "윈도우는 일반적인 ``.dll`` 파일 접미사를 자동으로 추가합니다."
#: ../Doc/library/ctypes.rst:66
msgid ""
"Accessing the standard C library through ``cdll.msvcrt`` will use an "
"outdated version of the library that may be incompatible with the one "
"being used by Python. Where possible, use native Python functionality, or"
" else import and use the ``msvcrt`` module."
msgstr ""
"``cdll.msvcrt``\\를 통해 표준 C 라이브러리에 액세스하면 파이썬에서 사용되는 라이브러리와 호환되지 않는 오래된 "
"라이브러리 버전이 사용됩니다. 가능하면 파이썬 자체의 기능을 사용하거나, ``msvcrt`` 모듈을 임포트 해서 사용하십시오."
#: ../Doc/library/ctypes.rst:71
msgid ""
"On Linux, it is required to specify the filename *including* the "
"extension to load a library, so attribute access can not be used to load "
"libraries. Either the :meth:`LoadLibrary` method of the dll loaders "
"should be used, or you should load the library by creating an instance of"
" CDLL by calling the constructor::"
msgstr ""
"리눅스에서, 라이브러리를 로드하기 위해서는 확장자를 *포함하는* 파일명을 지정해야 하므로, 어트리뷰트 액세스를 사용하여 라이브러리를"
" 로드 할 수 없습니다. dll 로더의 :meth:`LoadLibrary` 메서드를 사용하거나 CDLL의 생성자를 호출하여 "
"인스턴스를 만들어 라이브러리를 로드해야 합니다::"
#: ../Doc/library/ctypes.rst:89
msgid "Accessing functions from loaded dlls"
msgstr "로드된 dll에서 함수에 액세스하기"
#: ../Doc/library/ctypes.rst:91
msgid "Functions are accessed as attributes of dll objects::"
msgstr "함수는 dll 객체의 어트리뷰트로 액세스 됩니다::"
#: ../Doc/library/ctypes.rst:106
msgid ""
"Note that win32 system dlls like ``kernel32`` and ``user32`` often export"
" ANSI as well as UNICODE versions of a function. The UNICODE version is "
"exported with an ``W`` appended to the name, while the ANSI version is "
"exported with an ``A`` appended to the name. The win32 "
"``GetModuleHandle`` function, which returns a *module handle* for a given"
" module name, has the following C prototype, and a macro is used to "
"expose one of them as ``GetModuleHandle`` depending on whether UNICODE is"
" defined or not::"
msgstr ""
"``kernel32`` 와 ``user32``\\와 같은 win32 시스템 dll은 종종 ANSI뿐만 아니라 UNICODE 버전의 "
"함수를 내보냅니다. UNICODE 버전은 이름에 ``W``\\가 추가된 상태로 내보내지고, ANSI 버전은 이름에 ``A``\\가 "
"추가되어 내보내 집니다. 지정된 모듈 이름의 *모듈 핸들*\\을 반환하는 win32 ``GetModuleHandle`` 함수는, "
"다음과 같은 C 프로토타입을 가지며, UNICODE가 정의되어 있는지에 따라 그중 하나를 ``GetModuleHandle``\\로 "
"노출하기 위해 매크로가 사용됩니다::"
#: ../Doc/library/ctypes.rst:119
msgid ""
"*windll* does not try to select one of them by magic, you must access the"
" version you need by specifying ``GetModuleHandleA`` or "
"``GetModuleHandleW`` explicitly, and then call it with bytes or string "
"objects respectively."
msgstr ""
"*windll*\\는 마술적으로 이 중 하나를 선택하려고 하지 않으므로, ``GetModuleHandleA`` 나 "
"``GetModuleHandleW``\\를 명시적으로 지정하여 필요한 버전에 액세스해야 하고, 그런 다음 각각 바이트열이나 문자열 "
"객체로 호출해야 합니다."
#: ../Doc/library/ctypes.rst:123
msgid ""
"Sometimes, dlls export functions with names which aren't valid Python "
"identifiers, like ``\"??2@YAPAXI@Z\"``. In this case you have to use "
":func:`getattr` to retrieve the function::"
msgstr ""
"때때로, dll은 ``\"??2@YAPAXI@Z\"``\\와 같은 유효한 파이썬 식별자가 아닌 이름으로 함수를 내보냅니다. 이때는 "
":func:`getattr`\\를 사용하여 함수를 조회해야 합니다::"
#: ../Doc/library/ctypes.rst:131
msgid ""
"On Windows, some dlls export functions not by name but by ordinal. These "
"functions can be accessed by indexing the dll object with the ordinal "
"number::"
msgstr ""
"윈도우에서, 일부 dll은 이름이 아니라 서수(ordinal)로 함수를 내보냅니다. 이 함수는 서수로 dll 객체를 인덱싱하여 "
"액세스할 수 있습니다::"
#: ../Doc/library/ctypes.rst:148
msgid "Calling functions"
msgstr "함수 호출하기"
#: ../Doc/library/ctypes.rst:150
msgid ""
"You can call these functions like any other Python callable. This example"
" uses the ``time()`` function, which returns system time in seconds since"
" the Unix epoch, and the ``GetModuleHandleA()`` function, which returns a"
" win32 module handle."
msgstr ""
"다른 파이썬 콜러블처럼 이 함수를 호출할 수 있습니다. 이 예제에서는 시스템 시간을 유닉스 에포크부터의 초로 반환하는 "
"``time()`` 함수와 win32 모듈 핸들을 반환하는 ``GetModuleHandleA()`` 함수를 사용합니다."
#: ../Doc/library/ctypes.rst:155
msgid ""
"This example calls both functions with a NULL pointer (``None`` should be"
" used as the NULL pointer)::"
msgstr "이 예는 NULL 포인터로 두 함수를 호출합니다 (``None``\\을 NULL 포인터로 사용해야 합니다)::"
#: ../Doc/library/ctypes.rst:166
msgid ""
":mod:`ctypes` may raise a :exc:`ValueError` after calling the function, "
"if it detects that an invalid number of arguments were passed. This "
"behavior should not be relied upon. It is deprecated in 3.6.2, and will "
"be removed in 3.7."
msgstr ""
"유효하지 않은 수의 인자가 전달된 것을 감지하면, :mod:`ctypes`\\는 함수를 호출한 후 "
":exc:`ValueError`\\를 발생시킬 수 있습니다. 이 동작에 의존하지 않아야 합니다. 3.6.2에서 폐지되었으며, "
"3.7에서 제거될 것입니다."
#: ../Doc/library/ctypes.rst:171
msgid ""
":exc:`ValueError` is raised when you call an ``stdcall`` function with "
"the ``cdecl`` calling convention, or vice versa::"
msgstr ""
"``cdecl`` 호출 규칙을 사용하여 ``stdcall`` 함수를 호출하면 :exc:`ValueError`\\가 발생하고, 그 "
"반대도 마찬가지입니다::"
#: ../Doc/library/ctypes.rst:186
msgid ""
"To find out the correct calling convention you have to look into the C "
"header file or the documentation for the function you want to call."
msgstr "올바른 호출 규칙을 찾으려면 C 헤더 파일이나 호출할 함수에 대한 설명서를 살펴봐야 합니다."
#: ../Doc/library/ctypes.rst:189
msgid ""
"On Windows, :mod:`ctypes` uses win32 structured exception handling to "
"prevent crashes from general protection faults when functions are called "
"with invalid argument values::"
msgstr ""
"윈도우에서, :mod:`ctypes`\\는 함수가 유효하지 않은 인자 값을 사용하여 호출될 때, 일반적인 보호 오류로 인한 충돌을 "
"방지하기 위해 win32 구조적 예외 처리를 사용합니다::"
#: ../Doc/library/ctypes.rst:199
msgid ""
"There are, however, enough ways to crash Python with :mod:`ctypes`, so "
"you should be careful anyway. The :mod:`faulthandler` module can be "
"helpful in debugging crashes (e.g. from segmentation faults produced by "
"erroneous C library calls)."
msgstr ""
"그러나, :mod:`ctypes`\\로 파이썬을 충돌시킬 방법이 많으므로, 어쨌든 주의해야 합니다. "
":mod:`faulthandler` 모듈은 충돌을 디버깅하는 데 도움이 될 수 있습니다 (예를 들어, 오류가 있는 C 라이브러리 "
"호출로 인한 세그먼트 오류)."
#: ../Doc/library/ctypes.rst:204
msgid ""
"``None``, integers, bytes objects and (unicode) strings are the only "
"native Python objects that can directly be used as parameters in these "
"function calls. ``None`` is passed as a C ``NULL`` pointer, bytes objects"
" and strings are passed as pointer to the memory block that contains "
"their data (:c:type:`char *` or :c:type:`wchar_t *`). Python integers "
"are passed as the platforms default C :c:type:`int` type, their value is "
"masked to fit into the C type."
msgstr ""
"``None``, 정수, 바이트열 객체 및 (유니코드) 문자열은 이러한 함수 호출에서 매개 변수로 직접 사용할 수 있는 유일한 "
"파이썬 자체의 객체입니다. ``None``\\는 C ``NULL`` 포인터로 전달되고, 바이트열 객체와 문자열은 데이터가 저장된 "
"메모리 블록에 대한 포인터로 전달됩니다 (:c:type:`char *` 이나 :c:type:`wchar_t *`). 파이썬 정수는 "
"플랫폼의 기본 C :c:type:`int` 형으로 전달되며, 그 값은 C 형에 맞게 마스크 됩니다."
#: ../Doc/library/ctypes.rst:211
msgid ""
"Before we move on calling functions with other parameter types, we have "
"to learn more about :mod:`ctypes` data types."
msgstr "다른 매개 변수 형으로 함수를 호출하기 전에, :mod:`ctypes` 데이터형에 대해 더 알아야 합니다."
#: ../Doc/library/ctypes.rst:218 ../Doc/library/ctypes.rst:2066
msgid "Fundamental data types"
msgstr "기본 데이터형"
#: ../Doc/library/ctypes.rst:220
msgid ":mod:`ctypes` defines a number of primitive C compatible data types:"
msgstr ":mod:`ctypes`\\는 많은 기본적인 C 호환 데이터형을 정의합니다.:"
#: ../Doc/library/ctypes.rst:223
msgid "ctypes type"
msgstr "ctypes 형"
#: ../Doc/library/ctypes.rst:223
msgid "C type"
msgstr "C 형"
#: ../Doc/library/ctypes.rst:223
msgid "Python type"
msgstr "파이썬 형"
#: ../Doc/library/ctypes.rst:225
msgid ":class:`c_bool`"
msgstr ":class:`c_bool`"
#: ../Doc/library/ctypes.rst:225
msgid ":c:type:`_Bool`"
msgstr ":c:type:`_Bool`"
#: ../Doc/library/ctypes.rst:225
msgid "bool (1)"
msgstr "bool (1)"
#: ../Doc/library/ctypes.rst:227
msgid ":class:`c_char`"
msgstr ":class:`c_char`"
#: ../Doc/library/ctypes.rst:227 ../Doc/library/ctypes.rst:231
msgid ":c:type:`char`"
msgstr ":c:type:`char`"
#: ../Doc/library/ctypes.rst:227
msgid "1-character bytes object"
msgstr "1-문자 바이트열 객체"
#: ../Doc/library/ctypes.rst:229
msgid ":class:`c_wchar`"
msgstr ":class:`c_wchar`"
#: ../Doc/library/ctypes.rst:229
msgid ":c:type:`wchar_t`"
msgstr ":c:type:`wchar_t`"
#: ../Doc/library/ctypes.rst:229
msgid "1-character string"
msgstr "1-문자 문자열"
#: ../Doc/library/ctypes.rst:231
msgid ":class:`c_byte`"
msgstr ":class:`c_byte`"
#: ../Doc/library/ctypes.rst:231 ../Doc/library/ctypes.rst:233
#: ../Doc/library/ctypes.rst:235 ../Doc/library/ctypes.rst:237
#: ../Doc/library/ctypes.rst:239 ../Doc/library/ctypes.rst:241
#: ../Doc/library/ctypes.rst:243 ../Doc/library/ctypes.rst:245
#: ../Doc/library/ctypes.rst:247 ../Doc/library/ctypes.rst:249
#: ../Doc/library/ctypes.rst:252 ../Doc/library/ctypes.rst:254
msgid "int"
msgstr "int"
#: ../Doc/library/ctypes.rst:233
msgid ":class:`c_ubyte`"
msgstr ":class:`c_ubyte`"
#: ../Doc/library/ctypes.rst:233
msgid ":c:type:`unsigned char`"
msgstr ":c:type:`unsigned char`"
#: ../Doc/library/ctypes.rst:235
msgid ":class:`c_short`"
msgstr ":class:`c_short`"
#: ../Doc/library/ctypes.rst:235
msgid ":c:type:`short`"
msgstr ":c:type:`short`"
#: ../Doc/library/ctypes.rst:237
msgid ":class:`c_ushort`"
msgstr ":class:`c_ushort`"
#: ../Doc/library/ctypes.rst:237
msgid ":c:type:`unsigned short`"
msgstr ":c:type:`unsigned short`"
#: ../Doc/library/ctypes.rst:239
msgid ":class:`c_int`"
msgstr ":class:`c_int`"
#: ../Doc/library/ctypes.rst:239
msgid ":c:type:`int`"
msgstr ":c:type:`int`"
#: ../Doc/library/ctypes.rst:241
msgid ":class:`c_uint`"
msgstr ":class:`c_uint`"
#: ../Doc/library/ctypes.rst:241
msgid ":c:type:`unsigned int`"
msgstr ":c:type:`unsigned int`"
#: ../Doc/library/ctypes.rst:243
msgid ":class:`c_long`"
msgstr ":class:`c_long`"
#: ../Doc/library/ctypes.rst:243
msgid ":c:type:`long`"
msgstr ":c:type:`long`"
#: ../Doc/library/ctypes.rst:245
msgid ":class:`c_ulong`"
msgstr ":class:`c_ulong`"
#: ../Doc/library/ctypes.rst:245
msgid ":c:type:`unsigned long`"
msgstr ":c:type:`unsigned long`"
#: ../Doc/library/ctypes.rst:247
msgid ":class:`c_longlong`"
msgstr ":class:`c_longlong`"
#: ../Doc/library/ctypes.rst:247
msgid ":c:type:`__int64` or :c:type:`long long`"
msgstr ":c:type:`__int64` 나 :c:type:`long long`"
#: ../Doc/library/ctypes.rst:249
msgid ":class:`c_ulonglong`"
msgstr ":class:`c_ulonglong`"
#: ../Doc/library/ctypes.rst:249
msgid ":c:type:`unsigned __int64` or :c:type:`unsigned long long`"
msgstr ":c:type:`unsigned __int64` 나 :c:type:`unsigned long long`"
#: ../Doc/library/ctypes.rst:252
msgid ":class:`c_size_t`"
msgstr ":class:`c_size_t`"
#: ../Doc/library/ctypes.rst:252
msgid ":c:type:`size_t`"
msgstr ":c:type:`size_t`"
#: ../Doc/library/ctypes.rst:254
msgid ":class:`c_ssize_t`"
msgstr ":class:`c_ssize_t`"
#: ../Doc/library/ctypes.rst:254
msgid ":c:type:`ssize_t` or :c:type:`Py_ssize_t`"
msgstr ":c:type:`ssize_t` 나 :c:type:`Py_ssize_t`"
#: ../Doc/library/ctypes.rst:257
msgid ":class:`c_float`"
msgstr ":class:`c_float`"
#: ../Doc/library/ctypes.rst:257
msgid ":c:type:`float`"
msgstr ":c:type:`float`"
#: ../Doc/library/ctypes.rst:257 ../Doc/library/ctypes.rst:259
#: ../Doc/library/ctypes.rst:261
msgid "float"
msgstr "float"
#: ../Doc/library/ctypes.rst:259
msgid ":class:`c_double`"
msgstr ":class:`c_double`"
#: ../Doc/library/ctypes.rst:259
msgid ":c:type:`double`"
msgstr ":c:type:`double`"
#: ../Doc/library/ctypes.rst:261
msgid ":class:`c_longdouble`"
msgstr ":class:`c_longdouble`"
#: ../Doc/library/ctypes.rst:261
msgid ":c:type:`long double`"
msgstr ":c:type:`long double`"
#: ../Doc/library/ctypes.rst:263
msgid ":class:`c_char_p`"
msgstr ":class:`c_char_p`"
#: ../Doc/library/ctypes.rst:263
msgid ":c:type:`char *` (NUL terminated)"
msgstr ":c:type:`char *` (NUL 종료됨)"
#: ../Doc/library/ctypes.rst:263
msgid "bytes object or ``None``"
msgstr "바이트열 객체나 ``None``"
#: ../Doc/library/ctypes.rst:265
msgid ":class:`c_wchar_p`"
msgstr ":class:`c_wchar_p`"
#: ../Doc/library/ctypes.rst:265
msgid ":c:type:`wchar_t *` (NUL terminated)"
msgstr ":c:type:`wchar_t *` (NUL 종료됨)"
#: ../Doc/library/ctypes.rst:265
msgid "string or ``None``"
msgstr "문자열이나 ``None``"
#: ../Doc/library/ctypes.rst:267
msgid ":class:`c_void_p`"
msgstr ":class:`c_void_p`"
#: ../Doc/library/ctypes.rst:267
msgid ":c:type:`void *`"
msgstr ":c:type:`void *`"
#: ../Doc/library/ctypes.rst:267
msgid "int or ``None``"
msgstr "int 나 ``None``"
#: ../Doc/library/ctypes.rst:271
msgid "The constructor accepts any object with a truth value."
msgstr "생성자는 논릿값을 가진 모든 객체를 받아들입니다."
#: ../Doc/library/ctypes.rst:273
msgid ""
"All these types can be created by calling them with an optional "
"initializer of the correct type and value::"
msgstr "이 모든 형은 올바른 형과 값의 선택적 초기화자로 호출해서 만들어질 수 있습니다::"
#: ../Doc/library/ctypes.rst:284
msgid ""
"Since these types are mutable, their value can also be changed "
"afterwards::"
msgstr "이러한 형은 가변이므로, 값을 나중에 변경할 수도 있습니다::"
#: ../Doc/library/ctypes.rst:296
msgid ""
"Assigning a new value to instances of the pointer types "
":class:`c_char_p`, :class:`c_wchar_p`, and :class:`c_void_p` changes the "
"*memory location* they point to, *not the contents* of the memory block "
"(of course not, because Python bytes objects are immutable)::"
msgstr ""
":class:`c_char_p`, :class:`c_wchar_p` 및 :class:`c_void_p` 포인터형의 인스턴스에 새 "
"값을 대입하면 포인터가 가리키는 *메모리 위치*\\가 변경됩니다, 메모리 블록의 *내용이 아닙니다* (당연히 아닙니다, 파이썬 "
"바이트열 객체는 불변입니다)::"
#: ../Doc/library/ctypes.rst:316
msgid ""
"You should be careful, however, not to pass them to functions expecting "
"pointers to mutable memory. If you need mutable memory blocks, ctypes has"
" a :func:`create_string_buffer` function which creates these in various "
"ways. The current memory block contents can be accessed (or changed) "
"with the ``raw`` property; if you want to access it as NUL terminated "
"string, use the ``value`` property::"
msgstr ""
"그러나, 이것들을 가변 메모리에 대한 포인터를 예상하는 함수에 전달하지 않도록 주의해야 합니다. 가변 메모리 블록이 필요하다면, "
"ctypes에는 다양한 방법으로 이를 만드는 :func:`create_string_buffer` 함수가 있습니다. 현재 메모리 블록"
" 내용은 ``raw`` 프로퍼티를 사용하여 액세스(또는 변경)할 수 있습니다; NUL 종료 문자열로 액세스하려면 ``value`` "
"프로퍼티를 사용하십시오::"
#: ../Doc/library/ctypes.rst:340
msgid ""
"The :func:`create_string_buffer` function replaces the :func:`c_buffer` "
"function (which is still available as an alias), as well as the "
":func:`c_string` function from earlier ctypes releases. To create a "
"mutable memory block containing unicode characters of the C type "
":c:type:`wchar_t` use the :func:`create_unicode_buffer` function."
msgstr ""
":func:`create_string_buffer` 함수는 이전 ctypes 배포에 있는 :func:`c_string` 함수뿐만 "
"아니라 :func:`c_buffer` 함수(아직 별칭으로 사용할 수 있습니다)를 대체합니다. C 형 "
":c:type:`wchar_t`\\의 유니코드 문자를 포함하는 가변 메모리 블록을 생성하려면 "
":func:`create_unicode_buffer` 함수를 사용하십시오."
#: ../Doc/library/ctypes.rst:350
msgid "Calling functions, continued"
msgstr "함수 호출하기, 계속"
#: ../Doc/library/ctypes.rst:352
msgid ""
"Note that printf prints to the real standard output channel, *not* to "
":data:`sys.stdout`, so these examples will only work at the console "
"prompt, not from within *IDLE* or *PythonWin*::"
msgstr ""
"printf는 :data:`sys.stdout`\\이 *아니라* 실제 표준 출력으로 인쇄하므로, 이 예제는 콘솔 프롬프트에서만 "
"작동하고 *IDLE* 이나 *PythonWin*\\에서는 작동하지 않음에 유의하십시오::"
#: ../Doc/library/ctypes.rst:372
msgid ""
"As has been mentioned before, all Python types except integers, strings, "
"and bytes objects have to be wrapped in their corresponding :mod:`ctypes`"
" type, so that they can be converted to the required C data type::"
msgstr ""
"이전에 언급했듯이, 정수, 문자열 및 바이트열 객체를 제외한 모든 파이썬 형은 필요한 C 데이터형으로 변환될 수 있도록 해당하는 "
":mod:`ctypes` 형으로 래핑 되어야 합니다::"
#: ../Doc/library/ctypes.rst:385
msgid "Calling functions with your own custom data types"
msgstr "사용자 정의 데이터형을 사용하여 함수 호출하기"
#: ../Doc/library/ctypes.rst:387
msgid ""
"You can also customize :mod:`ctypes` argument conversion to allow "
"instances of your own classes be used as function arguments. "
":mod:`ctypes` looks for an :attr:`_as_parameter_` attribute and uses this"
" as the function argument. Of course, it must be one of integer, string,"
" or bytes::"
msgstr ""
"또한 :mod:`ctypes` 인자 변환을 사용자 정의하여 사용자 고유 클래스의 인스턴스를 함수 인자로 사용할 수 있습니다. "
":mod:`ctypes`\\는 :attr:`_as_parameter_` 어트리뷰트를 찾고, 이를 함수 인자로 사용합니다. 물론 "
"정수, 문자열 또는 바이트열 중 하나여야 합니다::"
#: ../Doc/library/ctypes.rst:402
msgid ""
"If you don't want to store the instance's data in the "
":attr:`_as_parameter_` instance variable, you could define a "
":class:`property` which makes the attribute available on request."
msgstr ""
":attr:`_as_parameter_` 인스턴스 변수에 인스턴스의 데이터를 저장하지 않으려면, "
":class:`property`\\를 정의하여 요청 시 어트리뷰트를 사용할 수 있게 할 수 있습니다."
#: ../Doc/library/ctypes.rst:410
msgid "Specifying the required argument types (function prototypes)"
msgstr "필수 인자 형 (함수 프로토타입) 지정하기"
#: ../Doc/library/ctypes.rst:412
msgid ""
"It is possible to specify the required argument types of functions "
"exported from DLLs by setting the :attr:`argtypes` attribute."
msgstr ":attr:`argtypes` 어트리뷰트를 설정하여 DLL에서 내보낸 함수의 필수 인자 형을 지정할 수 있습니다."
#: ../Doc/library/ctypes.rst:415
msgid ""
":attr:`argtypes` must be a sequence of C data types (the ``printf`` "
"function is probably not a good example here, because it takes a variable"
" number and different types of parameters depending on the format string,"
" on the other hand this is quite handy to experiment with this feature)::"
msgstr ""
":attr:`argtypes`\\는 C 데이터형의 시퀀스 여야 합니다 (``printf`` 함수는 포맷 문자열에 따라 개수와 형이 "
"다른 매개 변수를 받아들이기 때문에, 여기서는 좋은 예가 아닐 수 있습니다. 반면에 이 기능을 실험하기에 매우 편리하기도 "
"합니다)::"
#: ../Doc/library/ctypes.rst:426
msgid ""
"Specifying a format protects against incompatible argument types (just as"
" a prototype for a C function), and tries to convert the arguments to "
"valid types::"
msgstr "포맷을 지정하면 호환되지 않는 인자 형으로부터 보호하고(C 함수의 프로토타입처럼), 유효한 형으로 인자를 변환하려고 시도합니다::"
#: ../Doc/library/ctypes.rst:438
msgid ""
"If you have defined your own classes which you pass to function calls, "
"you have to implement a :meth:`from_param` class method for them to be "
"able to use them in the :attr:`argtypes` sequence. The :meth:`from_param`"
" class method receives the Python object passed to the function call, it "
"should do a typecheck or whatever is needed to make sure this object is "
"acceptable, and then return the object itself, its :attr:`_as_parameter_`"
" attribute, or whatever you want to pass as the C function argument in "
"this case. Again, the result should be an integer, string, bytes, a "
":mod:`ctypes` instance, or an object with an :attr:`_as_parameter_` "
"attribute."
msgstr ""
"함수 호출에 전달하는 여러분 자신의 클래스를 정의했으면, :attr:`argtypes` 시퀀스에서 해당 클래스를 사용할 수 있도록,"
" :meth:`from_param` 클래스 메서드를 구현해야 합니다. :meth:`from_param` 클래스 메서드는 함수 호출에"
" 전달된 파이썬 객체를 받습니다. 형 검사나 이 객체가 수용 가능한지 확인하는 데 필요한 모든 작업을 수행한 다음, 객체 자체나 "
":attr:`_as_parameter_` 어트리뷰트나 무엇이건 이 경우에 C 함수 인자로 전달되길 원하는 것을 반환해야 합니다. "
"다시 말하지만, 결과는 정수, 문자열, 바이트열, :mod:`ctypes` 인스턴스 또는 :attr:`_as_parameter_` "
"어트리뷰트가 있는 객체여야 합니다."
#: ../Doc/library/ctypes.rst:452
msgid "Return types"
msgstr "반환형"
#: ../Doc/library/ctypes.rst:454
msgid ""
"By default functions are assumed to return the C :c:type:`int` type. "
"Other return types can be specified by setting the :attr:`restype` "
"attribute of the function object."
msgstr ""
"기본적으로 함수는 C :c:type:`int` 형을 반환한다고 가정합니다. 다른 반환형은 함수 객체의 :attr:`restype` "
"어트리뷰트를 설정하여 지정할 수 있습니다."
#: ../Doc/library/ctypes.rst:458
msgid ""
"Here is a more advanced example, it uses the ``strchr`` function, which "
"expects a string pointer and a char, and returns a pointer to a string::"
msgstr ""
"다음은 더 고급 예제입니다. ``strchr`` 함수를 사용하는데, 문자열 포인터와 char을 기대하고, 문자열에 대한 포인터를 "
"반환합니다::"
#: ../Doc/library/ctypes.rst:471
msgid ""
"If you want to avoid the ``ord(\"x\")`` calls above, you can set the "
":attr:`argtypes` attribute, and the second argument will be converted "
"from a single character Python bytes object into a C char::"
msgstr ""
"위의 ``ord(\"x\")`` 호출을 피하려면, :attr:`argtypes` 어트리뷰트를 설정할 수 있으며, 두 번째 인자는 한"
" 글자 파이썬 바이트열 객체에서 C char로 변환됩니다::"
#: ../Doc/library/ctypes.rst:489
msgid ""
"You can also use a callable Python object (a function or a class for "
"example) as the :attr:`restype` attribute, if the foreign function "
"returns an integer. The callable will be called with the *integer* the C"
" function returns, and the result of this call will be used as the result"
" of your function call. This is useful to check for error return values "
"and automatically raise an exception::"
msgstr ""
"외부 함수가 정수를 반환하면, 콜러블 파이썬 객체(예를 들어, 함수나 클래스)를 :attr:`restype` 어트리뷰트로 사용할 "
"수도 있습니다. 콜러블은 C 함수가 돌려주는 *정수*\\로 호출되며, 이 호출의 결과는 함수 호출의 결과로 사용됩니다. 이것은 에러"
" 반환 값을 검사하고 자동으로 예외를 발생시키는 데 유용합니다::"
#: ../Doc/library/ctypes.rst:512
msgid ""
"``WinError`` is a function which will call Windows ``FormatMessage()`` "
"api to get the string representation of an error code, and *returns* an "
"exception. ``WinError`` takes an optional error code parameter, if no one"
" is used, it calls :func:`GetLastError` to retrieve it."
msgstr ""
"``WinError``\\는 윈도우 ``FormatMessage()`` api를 호출하여 에러 코드의 문자열 표현을 가져오고, "
"예외를 *반환하는* 함수입니다. ``WinError``\\는 선택적 에러 코드 매개 변수를 취합니다, 제공하지 않으면 "
":func:`GetLastError`\\를 호출하여 에러 코드를 가져옵니다."
#: ../Doc/library/ctypes.rst:517
msgid ""
"Please note that a much more powerful error checking mechanism is "
"available through the :attr:`errcheck` attribute; see the reference "
"manual for details."
msgstr ""
"훨씬 더 강력한 에러 검사 메커니즘을 :attr:`errcheck` 어트리뷰트를 통해 사용할 수 있음에 유의하십시오; 자세한 내용은"
" 레퍼런스 설명서를 참조하십시오."
#: ../Doc/library/ctypes.rst:524
msgid "Passing pointers (or: passing parameters by reference)"
msgstr "포인터 전달하기 (또는: 참조로 매개 변수 전달하기)"
#: ../Doc/library/ctypes.rst:526
msgid ""
"Sometimes a C api function expects a *pointer* to a data type as "
"parameter, probably to write into the corresponding location, or if the "
"data is too large to be passed by value. This is also known as *passing "
"parameters by reference*."
msgstr ""
"때때로 C api 함수는 매개 변수로 데이터형을 가리키는 *포인터*\\를 기대합니다, 아마도 해당 위치에 쓰기 위해서, 또는 "
"데이터가 너무 커서 값으로 전달할 수 없어서. 이것은 *참조로 매개 변수 전달하기*\\로 알려져 있기도 합니다."
#: ../Doc/library/ctypes.rst:530
msgid ""
":mod:`ctypes` exports the :func:`byref` function which is used to pass "
"parameters by reference. The same effect can be achieved with the "
":func:`pointer` function, although :func:`pointer` does a lot more work "
"since it constructs a real pointer object, so it is faster to use "
":func:`byref` if you don't need the pointer object in Python itself::"
msgstr ""
":mod:`ctypes`\\는 매개 변수를 참조로 전달하는 데 사용되는 :func:`byref` 함수를 내보냅니다. 같은 효과를 "
":func:`pointer` 함수로도 얻을 수 있습니다. 하지만 :func:`pointer`\\는 실제 포인터 객체를 생성하기 "
"때문에 더 많은 작업을 수행하므로, 파이썬 자체에서 포인터 객체가 필요하지 않으면 :func:`byref`\\를 사용하는 것이 더 "
"빠릅니다.::"
#: ../Doc/library/ctypes.rst:552
msgid "Structures and unions"
msgstr "구조체와 공용체"
#: ../Doc/library/ctypes.rst:554
msgid ""
"Structures and unions must derive from the :class:`Structure` and "
":class:`Union` base classes which are defined in the :mod:`ctypes` "
"module. Each subclass must define a :attr:`_fields_` attribute. "
":attr:`_fields_` must be a list of *2-tuples*, containing a *field name* "
"and a *field type*."
msgstr ""
"구조체와 공용체는 :mod:`ctypes` 모듈에 정의된 :class:`Structure`\\와 :class:`Union` 베이스 "
"클래스에서 파생되어야 합니다. 각 서브 클래스는 :attr:`_fields_` 어트리뷰트를 정의해야 합니다. "
":attr:`_fields_`\\는 *필드 이름* 과 *필드형*\\을 포함하는 *2-튜플*\\의 리스트여야 합니다."
#: ../Doc/library/ctypes.rst:559
msgid ""
"The field type must be a :mod:`ctypes` type like :class:`c_int`, or any "
"other derived :mod:`ctypes` type: structure, union, array, pointer."
msgstr ""
"필드형은 :class:`c_int`\\와 같은 :mod:`ctypes` 형이거나 다른 파생된 :mod:`ctypes` 형(구조체, "
"공용체, 배열, 포인터)이어야 합니다."
#: ../Doc/library/ctypes.rst:562
msgid ""
"Here is a simple example of a POINT structure, which contains two "
"integers named *x* and *y*, and also shows how to initialize a structure "
"in the constructor::"
msgstr ""
"다음은 *x* 및 *y*\\라는 두 개의 정수가 포함된 POINT 구조체의 간단한 예제이며, 생성자에서 구조체를 초기화하는 방법도 "
"보여줍니다::"
#: ../Doc/library/ctypes.rst:582
msgid ""
"You can, however, build much more complicated structures. A structure "
"can itself contain other structures by using a structure as a field type."
msgstr "그러나, 훨씬 복잡한 구조를 만들 수 있습니다. 구조체는 필드형으로 구조체를 사용하여 다른 구조체를 포함할 수 있습니다."
#: ../Doc/library/ctypes.rst:585
msgid ""
"Here is a RECT structure which contains two POINTs named *upperleft* and "
"*lowerright*::"
msgstr "다음은 *upperleft* 및 *lowerright*\\라는 두 개의 POINT를 포함하는 RECT 구조체입니다::"
#: ../Doc/library/ctypes.rst:599
msgid ""
"Nested structures can also be initialized in the constructor in several "
"ways::"
msgstr "중첩된 구조체는 여러 가지 방법으로 생성자에서 초기화할 수 있습니다::"
#: ../Doc/library/ctypes.rst:604
msgid ""
"Field :term:`descriptor`\\s can be retrieved from the *class*, they are "
"useful for debugging because they can provide useful information::"
msgstr ""
"필드 :term:`디스크립터 <descriptor>`\\는 *클래스*\\에서 조회할 수 있습니다. 유용한 정보를 제공할 수 있으므로"
" 디버깅에 유용합니다::"
#: ../Doc/library/ctypes.rst:618
msgid ""
":mod:`ctypes` does not support passing unions or structures with bit-"
"fields to functions by value. While this may work on 32-bit x86, it's "
"not guaranteed by the library to work in the general case. Unions and "
"structures with bit-fields should always be passed to functions by "
"pointer."
msgstr ""
":mod:`ctypes`\\는 비트 필드가 있는 공용체나 구조체를 값으로 함수에 전달할 수 없습니다. 32비트 x86에서 작동할 수"
" 있지만, 일반적으로 작동은 라이브러리가 보증하지 않습니다. 비트 필드가 있는 공용체와 구조체는 항상 포인터로 함수에 전달되어야 "
"합니다."
#: ../Doc/library/ctypes.rst:624
msgid "Structure/union alignment and byte order"
msgstr "구조체/공용체 정렬과 바이트 순서"
#: ../Doc/library/ctypes.rst:626
msgid ""
"By default, Structure and Union fields are aligned in the same way the C "
"compiler does it. It is possible to override this behavior be specifying "
"a :attr:`_pack_` class attribute in the subclass definition. This must be"
" set to a positive integer and specifies the maximum alignment for the "
"fields. This is what ``#pragma pack(n)`` also does in MSVC."
msgstr ""
"기본적으로, Structure와 Union 필드는 C 컴파일러와 같은 방식으로 정렬됩니다. 서브 클래스 정의에서 "
":attr:`_pack_` 클래스 어트리뷰트를 지정하면, 이 동작을 재정의할 수 있습니다. 이 값은 양의 정수로 설정해야 하고, "
"필드의 최대 정렬을 지정합니다. 이것은 MSVC에서 ``#pragma pack(n)``\\가 수행하는 것입니다."
#: ../Doc/library/ctypes.rst:632
msgid ""
":mod:`ctypes` uses the native byte order for Structures and Unions. To "
"build structures with non-native byte order, you can use one of the "
":class:`BigEndianStructure`, :class:`LittleEndianStructure`, "
":class:`BigEndianUnion`, and :class:`LittleEndianUnion` base classes. "
"These classes cannot contain pointer fields."
msgstr ""
":mod:`ctypes`\\는 구조체와 공용체에 기본(native) 바이트 순서를 사용합니다. 기본이 아닌 바이트 순서로 구조체를 "
"만들려면 :class:`BigEndianStructure`, :class:`LittleEndianStructure`, "
":class:`BigEndianUnion` 및 :class:`LittleEndianUnion` 베이스 클래스 중 하나를 사용할 수 "
"있습니다. 이러한 클래스들은 포인터 필드를 포함할 수 없습니다."
#: ../Doc/library/ctypes.rst:642
msgid "Bit fields in structures and unions"
msgstr "구조체와 공용체의 비트 필드"
#: ../Doc/library/ctypes.rst:644
msgid ""
"It is possible to create structures and unions containing bit fields. Bit"
" fields are only possible for integer fields, the bit width is specified "
"as the third item in the :attr:`_fields_` tuples::"
msgstr ""
"비트 필드를 포함하는 구조체와 공용체를 만드는 것이 가능합니다. 비트 필드는 정수 필드에만 가능하며, 비트 폭은 "
":attr:`_fields_` 튜플의 세 번째 항목으로 지정됩니다::"
#: ../Doc/library/ctypes.rst:662
msgid "Arrays"
msgstr "배열"
#: ../Doc/library/ctypes.rst:664
msgid ""
"Arrays are sequences, containing a fixed number of instances of the same "
"type."
msgstr "배열은 같은 형의 고정 된 수의 인스턴스를 포함하는 시퀀스입니다."
#: ../Doc/library/ctypes.rst:666
msgid ""
"The recommended way to create array types is by multiplying a data type "
"with a positive integer::"
msgstr "배열형을 만드는 데 권장되는 방법은 데이터형에 양의 정수를 곱하는 것입니다::"
#: ../Doc/library/ctypes.rst:671
msgid ""
"Here is an example of a somewhat artificial data type, a structure "
"containing 4 POINTs among other stuff::"
msgstr "다음은 다소 인공적인 데이터형의 예입니다. 다른 항목들과 함께 4개의 POINT를 포함하는 구조체입니다::"
#: ../Doc/library/ctypes.rst:687
msgid "Instances are created in the usual way, by calling the class::"
msgstr "인스턴스는 클래스를 호출하는 일반적인 방법으로 만들어집니다::"
#: ../Doc/library/ctypes.rst:693
msgid ""
"The above code print a series of ``0 0`` lines, because the array "
"contents is initialized to zeros."
msgstr "위 코드는 배열 내용이 0으로 초기화되기 때문에, 일련의 ``0 0`` 줄을 인쇄합니다."
#: ../Doc/library/ctypes.rst:696
msgid "Initializers of the correct type can also be specified::"
msgstr "올바른 형의 초기화자를 지정할 수도 있습니다::"
#: ../Doc/library/ctypes.rst:712
msgid "Pointers"
msgstr "포인터"
#: ../Doc/library/ctypes.rst:714
msgid ""
"Pointer instances are created by calling the :func:`pointer` function on "
"a :mod:`ctypes` type::"
msgstr "포인터 인스턴스는 :mod:`ctypes` 형에 :func:`pointer` 함수를 호출해서 만듭니다::"
#: ../Doc/library/ctypes.rst:722
msgid ""
"Pointer instances have a :attr:`~_Pointer.contents` attribute which "
"returns the object to which the pointer points, the ``i`` object above::"
msgstr ""
"포인터 인스턴스는 포인터가 가리키는 객체(위에서는 ``i`` 객체)를 반환하는 :attr:`~_Pointer.contents` "
"어트리뷰트를 가집니다::"
#: ../Doc/library/ctypes.rst:729
msgid ""
"Note that :mod:`ctypes` does not have OOR (original object return), it "
"constructs a new, equivalent object each time you retrieve an attribute::"
msgstr ""
":mod:`ctypes`\\에는 OOR(원래 객체 반환, original object return)이 없다는 것에 유의하십시오. "
"어트리뷰트를 가져올 때마다 (동등하지만) 새로운 객체를 만듭니다::"
#: ../Doc/library/ctypes.rst:738
msgid ""
"Assigning another :class:`c_int` instance to the pointer's contents "
"attribute would cause the pointer to point to the memory location where "
"this is stored::"
msgstr ""
"다른 :class:`c_int` 인스턴스를 포인터의 contents 어트리뷰트에 대입하면 포인터는 이 인스턴스가 저장되어있는 메모리"
" 위치를 가리키게 됩니다::"
#: ../Doc/library/ctypes.rst:750
msgid "Pointer instances can also be indexed with integers::"
msgstr "포인터 인스턴스는 정수로도 인덱싱할 수 있습니다.::"
#: ../Doc/library/ctypes.rst:756
msgid "Assigning to an integer index changes the pointed to value::"
msgstr "정수 인덱스에 대입하면 가리키고 있는 값이 바뀝니다::"
#: ../Doc/library/ctypes.rst:765
msgid ""
"It is also possible to use indexes different from 0, but you must know "
"what you're doing, just as in C: You can access or change arbitrary "
"memory locations. Generally you only use this feature if you receive a "
"pointer from a C function, and you *know* that the pointer actually "
"points to an array instead of a single item."
msgstr ""
"0이 아닌 인덱스를 사용할 수도 있지만, C에서와 마찬가지로 자신이 하는 일을 알아야 합니다: 임의의 메모리 위치를 액세스하거나 "
"변경할 수 있습니다. 일반적으로 C 함수에서 포인터를 받고, 포인터가 실제로 단일 항목 대신 배열을 가리키는 것을 *알* 때만 이 "
"기능을 사용합니다."
#: ../Doc/library/ctypes.rst:771
msgid ""
"Behind the scenes, the :func:`pointer` function does more than simply "
"create pointer instances, it has to create pointer *types* first. This is"
" done with the :func:`POINTER` function, which accepts any :mod:`ctypes` "
"type, and returns a new type::"
msgstr ""
"장막 뒤에서, :func:`pointer` 함수는 단순히 포인터 인스턴스를 만드는 것 이상을 수행합니다. 먼저 포인터 *형*\\을 "
"만들어야 합니다. 이것은 임의의 :mod:`ctypes` 형을 받아들이고, 새로운 형을 반환하는 :func:`POINTER` 함수로"
" 수행됩니다::"
#: ../Doc/library/ctypes.rst:787
msgid ""
"Calling the pointer type without an argument creates a ``NULL`` pointer. "
"``NULL`` pointers have a ``False`` boolean value::"
msgstr "인자 없이 포인터형을 호출하면 ``NULL`` 포인터가 만들어집니다. ``NULL`` 포인터는 ``False`` 논릿값을 갖습니다::"
#: ../Doc/library/ctypes.rst:795
msgid ""
":mod:`ctypes` checks for ``NULL`` when dereferencing pointers (but "
"dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::"
msgstr ""
":mod:`ctypes`\\는 포인터를 역참조(dereference)할 때 ``NULL``\\인지 확인합니다 (하지만 "
"``NULL``\\이 아닌 잘못된 포인터를 역참조하면 파이썬을 충돌시킵니다)::"
#: ../Doc/library/ctypes.rst:814
msgid "Type conversions"
msgstr "형 변환"
#: ../Doc/library/ctypes.rst:816
msgid ""
"Usually, ctypes does strict type checking. This means, if you have "
"``POINTER(c_int)`` in the :attr:`argtypes` list of a function or as the "
"type of a member field in a structure definition, only instances of "
"exactly the same type are accepted. There are some exceptions to this "
"rule, where ctypes accepts other objects. For example, you can pass "
"compatible array instances instead of pointer types. So, for "
"``POINTER(c_int)``, ctypes accepts an array of c_int::"
msgstr ""
"일반적으로, ctypes는 엄격한 형 검사를 수행합니다. 이는 함수의 :attr:`argtypes` 목록에 "
"``POINTER(c_int)``\\가 있거나, 구조체 멤버 필드의 형이 그런 형이라면, 정확히 같은 형의 인스턴스만 허용됨을 "
"뜻합니다. 이 규칙에는 ctypes가 다른 객체를 허용하는 몇 가지 예외가 있습니다. 예를 들어, 포인터형 대신 호환 가능한 배열 "
"인스턴스를 전달할 수 있습니다. 따라서 ``POINTER(c_int)``\\의 경우, ctype은 c_int 배열을 허용합니다::"
#: ../Doc/library/ctypes.rst:837
msgid ""
"In addition, if a function argument is explicitly declared to be a "
"pointer type (such as ``POINTER(c_int)``) in :attr:`argtypes`, an object "
"of the pointed type (``c_int`` in this case) can be passed to the "
"function. ctypes will apply the required :func:`byref` conversion in "
"this case automatically."
msgstr ""
"또한, 함수 인자가 :attr:`argtypes`\\에 포인터형(가령 ``POINTER(c_int)``)으로 명시적으로 선언되면, "
"대상형(이 경우 ``c_int``)의 객체를 함수에 전달할 수 있습니다. 이때 ctypes는 필요한 :func:`byref` 변환을"
" 자동으로 적용합니다."
#: ../Doc/library/ctypes.rst:842
msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::"
msgstr "POINTER 형 필드를 ``NULL``\\로 설정하려면, ``None``\\을 대입할 수 있습니다::"
#: ../Doc/library/ctypes.rst:849
msgid ""
"Sometimes you have instances of incompatible types. In C, you can cast "
"one type into another type. :mod:`ctypes` provides a :func:`cast` "
"function which can be used in the same way. The ``Bar`` structure "
"defined above accepts ``POINTER(c_int)`` pointers or :class:`c_int` "
"arrays for its ``values`` field, but not instances of other types::"
msgstr ""