Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Problema compliazione

    Salve,
    premetto che non sono un esperto di c ma sto cercando di integrare delle funzioni custom nella mia versione di php.
    e di compilarla all'interno utilizzando LINUX

    nel file Zend.c
    codice:
    #include "zend.h"
    #include "zend_extensions.h"
    #include "zend_modules.h"
    #include "zend_constants.h"
    #include "zend_list.h"
    #include "zend_API.h"
    #include "zend_builtin_functions.h"
    #include "zend_ini.h"
    #include "prova/prova.h"
    
    
    #ifdef ZTS
    #    define GLOBAL_FUNCTION_TABLE    global_function_table
    #    define GLOBAL_CLASS_TABLE        global_class_table
    #    define GLOBAL_CONSTANTS_TABLE    global_constants_table
    #    define GLOBAL_AUTO_GLOBALS_TABLE    global_auto_globals_table
    #else
    #    define GLOBAL_FUNCTION_TABLE    CG(function_table)
    #    define GLOBAL_CLASS_TABLE        CG(class_table)
    #    define GLOBAL_AUTO_GLOBALS_TABLE    CG(auto_globals)
    #endif
    
    prova_main();
    // qui sta altro codice che prosegue non inserito in quanto troppo lungo
    nel mio file "prova/prova.h" metto
    codice:
    #ifndef _PROVA_H_
    #define _PROVA_H_
    int scanner_start (void);
    #endif
    e in fine nel file "prova/prova.c" metto
    codice:
    int prova_main (void)
    {
         
     }
    quando compilo il tutto mi da un errore da 6 gg non lo risolvo
    undefined reference to prova_main'
    dove sbaglio?
    grazie
    Marco

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    prova_main?

    La funzione si deve chiamare

    main

    non in altro modo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Ciao oregon,
    ma posso inserire due main nello stesso file?
    nel senso che il file zend.c già contiene un main
    avevo pensato quindi di chiamare la funzione come da esempio prova in quanto già esistente...
    comunque ho provato a fare come mi dici tu e adesso mi genera molti più errrori


  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ci siamo capiti ... devi avere un solo main ... a cosa ti serve il prova_main?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    devo integrare delle mie funzioni quindi la funzione prova_main(); poteva anche chiamarsi
    sviluppo();
    capisci quello che intendo?..
    devi inserire questa funzione nel file Zend.c

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Allora ... ricominciamo ...

    Nel file zend.c quella riga

    prova_main();

    è inserita al di fuori di qualsiasi funzione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    questo e il codice

    codice:
    
    #include "zend.h"
    #include "zend_extensions.h"
    #include "zend_modules.h"
    #include "zend_constants.h"
    #include "zend_list.h"
    #include "zend_API.h"
    #include "zend_builtin_functions.h"
    #include "zend_ini.h"
    #include "prova/prova.h"
    
    
    #ifdef ZTS
    #	define GLOBAL_FUNCTION_TABLE	global_function_table
    #	define GLOBAL_CLASS_TABLE		global_class_table
    #	define GLOBAL_CONSTANTS_TABLE	global_constants_table
    #	define GLOBAL_AUTO_GLOBALS_TABLE	global_auto_globals_table
    #else
    #	define GLOBAL_FUNCTION_TABLE	CG(function_table)
    #	define GLOBAL_CLASS_TABLE		CG(class_table)
    #	define GLOBAL_AUTO_GLOBALS_TABLE	CG(auto_globals)
    #endif
    
    #if defined(ZEND_WIN32) && ZEND_DEBUG
    BOOL WINAPI IsDebuggerPresent(VOID);
    #endif
    
    
    ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_count, ...)
    {
    
    
    	va_list files;
    	int i;
    	zend_file_handle *file_handle;
    	zend_op_array *orig_op_array = EG(active_op_array);
    	zval *local_retval=NULL;
    
    	va_start(files, file_count);
    	for (i=0; i<file_count; i++) {
    		file_handle = va_arg(files, zend_file_handle *);
    		if (!file_handle) {
    			continue;
    		}
    
    prova_main ();

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ok ... e perchè nel prova.h c'è questo ?

    int scanner_start (void);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    sbagliato a postare
    nel file .h
    e questo il contenuto
    //definisco la variabile
    #ifndef _PROVA_H_
    #define _PROVA_H_
    //inizializzo la variabile int
    int prova_main (void);
    #endif

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    A parte che non ci sono variabili (come dici nei commenti) questo va meglio.

    Come compili il tutto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.