الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

linker error in C program

بدأه LibyanITGirl في 5 أغسطس 2010 · 1 رد · 336 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

حاولت تنفيذ هذا الكود

#include <stdio.h> 
#include <stdlib.h> 
#include <sys/io.h> 
#include <unistd.h>

#define base 0x378 /* printer port base address */ 
main(int argc, char **argv) 
{ 
int value; 
if (argc!=2) 
  fprintf(stderr, "Error: Wrong number of arguments. This 
program needs one argument which is number between 0 and 255.\n"), exit(1); 

if (sscanf(argv[1],"%i",&value)!=1) 
  fprintf(stderr, "Error: Parameter is not a number.\n"), exit(1); 

if ((value<0) || (value>255)) 
  fprintf(stderr, "Error: Invalid numeric value. The parameter number must be between 0 and 255\n"), exit(1); 

if (ioperm(base,1,1)) 
  fprintf(stderr, "Error: Couldn't get the port at %x\n", base), exit(1); 
outb((unsigned char)value, base); 
}

ولكن تظهر لي الأخطاء التالية :

Linker error : undefined symbol _outb in module LPTOUT.C
Linker error : undefined symbol _ioperm in module LPTOUT.C

استخدمت Turbo C++ Version 3.0

ماهي المشكلة ؟

لم اجد مع المترجم ملف الهيدر io.h ولا unistd.h ، بحثت عنها ووضعتها في ملف البرنامج ، ربما هذا سبب الخطأ ؟

lilgirllaptopsoftened2c.jpg

#2

البرنامج يحتاج نظام تشغيل ليونكس لكي يترجم عليه ...

أو أعتقد على الأقل cygwin .... لست متأكد

مواضيع مشابهة