Разделение функций на отдельный заголовок, которые полагаются на другую функцию, а не внутри заголовка? - PullRequest
0 голосов
/ 02 июня 2010

У меня есть несколько C-скриптов, которые все будут иметь одинаковый формат (функции), но иногда фактический код в нескольких функциях. Я пытаюсь разделить функцию во внешний файл заголовка, но проблема заключается в следующем:

int FunctionImExtracting()
{
    //some code
    FunctionThatCannotBeExtractedButTheFunctionSignatureWillAlwaysRemainTheSame()
    //more code.
};

У меня такое ощущение, что указатели на функции будут моим другом здесь, но я не уверен, как это сделать. Как это можно сделать?

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Вы (обычно не хотите) помещать саму функцию в заголовок - вы просто хотите поместить объявление функции в заголовок, чтобы другие файлы могли включать заголовок и иметь возможность вызывать эту функцию:

//myfunc.h:
#ifndef MY_HEADER_H_INCLUDED
int FunctionImExtracting(void);
#define MY_HEADER_H_INCLUDED
#endif


// myfunc.c:
#include "theirheader.h"
#include "myfunc.h"

int FunctionImExtracting() { 
  // as in question
}
0 голосов
/ 02 июня 2010

Вам понадобится заголовочный файл с объявлением FunctionThatCannotBeExtractedButTheFunctionSignatureWillAlwaysRemainTheSame().Затем в файл, в который вы экспортируете, вам нужно будет включить этот заголовок.И фактическое определение FunctionThatCannotBeExtractedButTheFunctionSignatureWillAlwaysRemainTheSame() все еще может быть в файле, из которого вы экспортировали FunctionImExtracting().

Я правильно понял вашу проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...