ข้ามไปที่เนื้อหาหลัก

เรียกใช้ไลบารีภาษา C ในภาษา D

สวัสดีผู้อ่านทุกท่านครับ หลังจากที่ผมย้ายมาเขียนภาษา D แล้วได้ซักระยะหนึ่ง ผมอยากเรียกใช้ไลบารีภาษา C ในภาษา D สามารถเรียกใช้งานได้ดังนี้ครับ


เนื่องจากภาษา D พัฒนามาจากภาษาซี แต่เรายังสามารถเรียกใช้ไลบารีภาษา C ในภาษา D ได้ด้วยการ
import core.stdc.ชื่อไลบรารี C99;

โดยมีรายชื่อไลบรารีในภาษาซีที่รองรับในภาษา D ดังนี้

  • complex ในภาษาซี คือ complex.h
  • ctype ในภาษาซี คือ ctype.h
  • errno ในภาษาซี คือ errno.h
  • fenv ในภาษาซี คือ fenv.h
  • float_ ในภาษาซี คือ float.h
  • inttypes ในภาษาซี คือ inttypes.h
  • limits ในภาษาซี คือ limits.h
  • locale ในภาษาซี คือ locale.h
  • math ในภาษาซี คือ math.h
  • signal ในภาษาซี คือ signal.h
  • stdarg ในภาษาซี คือ stdarg.h
  • stddef ในภาษาซี คือ stddef.h
  • stdint ในภาษาซี คือ stdint.h
  • stdio ในภาษาซี คือ stdio.h
  • stdlib ในภาษาซี คือ stdlib.h
  • string ในภาษาซี คือ string.h
  • tgmath ในภาษาซี คือ tgmath.h
  • time ในภาษาซี คือ time.h
  • wchar_ ในภาษาซี คือ wchar.h
  • wctype ในภาษาซี คือ wctype.h
ตัวอย่าง เมื่อต้องการเรียกใช้คำสั่งภาษาซี เช่น printf(); ซึ่งอยู่ในไลบรารีที่ชื่อว่า stdio.h ในภาษา D สามารถเรียกใช้งานได้ดังนี้

import core.stdc.stdio;

void main(){
	printf("Hello");
}

ผลลัพธ์
Hello

เมื่อนำคำสั่งของทั้งไลบารีภาษา C และไลบรารีภาษา D มาใช้งานร่วมกัน
ตัวอย่างโปรแกรมแสดงแม่สูตรคูณ
import core.stdc.stdio;
import std.stdio;

auto a = 0;
void main(){
    write("> ");
    int input,a = 0;
    scanf("%d",&input);
	for(a=1;a<=12;a++){
		printf("%d * %d = %d \n",input,a,a*input);
	}
}
ผลลัพธ์ เมื่อกรองค่า 9 ลงไป
> 9
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
9 * 10 = 90
9 * 11 = 99
9 * 12 = 108

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

สั่งให้ browse เปิดลิงค์ตามที่ต้องการในภาษา D

เราสามารถเขียนโปรแกรมสั่งงานให้ browse เปิดลิงค์ตามที่ต้องการในภาษา D ด้วยการ import ไลบรารี std.process เข้ามา

คอมไพเลอร์ LDC ในภาษา D

คอมไพเลอร์ LDC (LLVM-based D compiler) เป็นคอมไพเลอร์หนึ่งในภาษา D ที่ถูกออกแบบมา ให้เป็นคอมไพเลอร์ภาษา D แบบพกพา โดยใช้ LLVM เป็น backend ใช้ BSD-licensed
สามารถโหลดคอมไพเลอร์ LDC ได้ที่ https://github.com/ldc-developers/ldc/releases
การใช้งาน
หลังที่ทำการติดตั้งคอมไพเลอร์ GDC แล้ว สามารถคอมไพล์โค้ดภาษา D ได้ ดังนี้
ldc2 ไฟล์.d
เอกสาร https://archive.fosdem.org/2014/schedule/event/ldccompiler/attachments/slides/366/export/events/attachments/ldccompiler/slides/366/FOSDEM_2014.pdf