पीएलआइ समस्या

T

tarkyss

Guest
मैं एक साधारण सी प्रोग्राम लिखा
# शामिल है. "/ veriuser.h"
# शामिल "acc_user.h"
# शामिल "stdio.h"
# शामिल "stdlib.h"
# शामिल "time.h"
int myrandom () (

time_t nowtime *;
(nowtime) समय;
srand ((nowtime *));
printf ( "% d समय \ यादृच्छिक nthe है% है d \ n", (nowtime *), रैंड () 128%);

)
s_tfcell veriusertfs [] = (
, usertask (0, 0, 0, myrandom, 0, "$ myrandom"),
(0) / / पिछले प्रविष्टि 0 होना चाहिए
);

जब जीसीसी और ld चल रहे हैं, नहीं, नहीं त्रुटि चेतावनी
लेकिन जब मैं चला
vsim-परीक्षण c-पीएलआइ myrandom.sl
यह कहा, कार्य प्रणाली $ myrandom परिभाषित नहीं है.
क्यों?

 
निम्नलिखित कोड चेकआउट .....

फ़ाइल नाम: testme.c
कोड:

# शामिल "vpi_user.h"

# शामिल <stdio.h>

# शामिल <stdlib.h>

# शामिल <time.h>

शून्य myrandom () (

time_t nowtime *;

(nowtime) समय;

srand ((nowtime *));

io_printf ( "समय% d \ यादृच्छिक nthe है% है d \ n", (nowtime *), रैंड () 128%);

)/ / एसोसिएट सी एक नई प्रणाली के कार्य के साथ फंक्शन

शून्य registermyrandom () (

s_vpi_systf_data task_data_s;

p_vpi_systf_data task_data_p = & task_data_s;

task_data_p-प्रकार> vpiSysTask =;

myrandom task_data_p> = "$ tfname";

task_data_p> calltf myrandom =;

task_data_p> = 0 compiletf;(task_data_p) vpi_register_systf;

)/ / नई प्रणाली काम यहाँ रजिस्टर

शून्य (vlog_startup_routines * []) () = (

registermyrandom,

0 / / पिछले प्रविष्टि 0 होना चाहिए

);

 
veriuser.c फ़ाइल में पीएलआइ समारोह रजिस्टर, जो जोड़ने के समय सिम्युलेटर द्वारा उपयोग किया जाएगा.वहाँ एक है कि फाइल में "veriusertfs" नाम सरणी होगा.वहाँ हम एक पीएलआइ एफ एन के बारे में प्रविष्टि जोड़ने की जरूरत है.

 
nand_gates
धन्यवाद, लेकिन जब मैं चला
-c-मैं $ जीसीसी MTI_HOME () / testme.c शामिल
निम्नलिखित में प्रदर्शित होता है
testme.c: समारोह में registermyrandom ` ':
testme.c: 18: चेतावनी: असंगत सूचक प्रकार से काम

 
इस परिवर्तन
कोड:

शून्य myrandom ()
 
nand_gates धन्यवाद
अब, जीसीसी और ld सही है
लेकिन जब मैं चला
vsim c-पीएलआइ testme.so work.test
और फिर
1000 चलाने
# Runing पीएलआइ अब .... काम
# ** घातक: (SIGSEGV) बुरी सूचक का उपयोग.
# समय: 10 एन एस इटेरेशन: 0 प्रक्रिया: परीक्षण / / # प्रारंभिक # 2 फ़ाइल: test.v
# Test.v 5 रेखा पर घातक त्रुटि
#
# Test.v 5 लाइन पर रोका

 
यह .... के साथ की जाँच करें
बदलेंकोड:

int myrandom ()
 
nand_gates
बहुत बहुत धन्यवाद
यह अभी तक काम नहीं है, त्रुटि संदेश के साथ पिछले एक ही कर सकता है
तुम्हें क्या लगता है क्या कारण हो सकता है?लि conf?
# Runing पीएलआइ अब .... काम
# ** घातक: (SIGSEGV) बुरी सूचक का उपयोग.
# समय: 10 एन एस इटेरेशन: 0 प्रक्रिया: परीक्षण / / # प्रारंभिक # 2 फ़ाइल: test.v
# Test.v 5 रेखा पर घातक त्रुटि
#
# Test.v 5 लाइन पर रोका
अंतिम बार जनवरी 23, 2006 9:34 पर tarkyss द्वारा संपादित; में 1 बार संपादित कुल

 
आप कौन से संस्करण का उपयोग कर रहे modelsim???पर जो platfoem और संस्करण के साथ क्या ओएस?

 
मेरी ओएस sunos5.8 है
और मैं modelsim के संस्करण की कोशिश की 5.8b, 6.1a, और 6.1c हैं

 

Welcome to EDABoard.com

Sponsor

Back
Top