c语言如何查看内置函数,C中函数内部的函数
我正在做一個類似這樣的代碼:
#include
double some_function( double x, double y)
{
double inner_function(double x)
{
// some code
return x*x;
}
double z;
z = inner_function(x);
return z+y;
}
int main(void)
{
printf("%f\n", some_function(2.0, 4.0));
return 0;
}這在GCC中完美編譯(沒有警告),但無法在ICC中編譯。
ICC給出:
main.c(16): error: expected a ";"
{
^
main.c(21): warning #12: parsing restarts here after previous syntax error
double z;
^
main.c(22): error: identifier "z" is undefined
z = inner_function(x);
^
compilation aborted for main.c (code 2)我究竟做錯了什么?
謝謝。
(編輯)對不起,這個不好的例子。在我的原始代碼中,我需要做這些事情。我正在使用GSL數字積分器,并具有類似如下內容:
double stuff(double a, double b)
{
struct parameters
{
double a, b;
};
double f(double x, void * params)
{
struct parameters p = (struct parameters *) params;
double a = p->a, b = b->b;
return some_expression_involving(a,b,x);
}
struct parameters par = {a,b};
integrate(&f, &par);
}我有很多這種結構的函數:它們是一個函數與許多外部參數集成的結果。而實現數值積分的函數必須接收一個指向函數類型的指針:
double f(double x, void * par)我真的很喜歡這樣嵌套的函數,所以我的代碼不會有很多很多的函數膨脹。我希望我能用ICC編譯它來加速一點。
總結
以上是生活随笔為你收集整理的c语言如何查看内置函数,C中函数内部的函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java swing 注册事件_比较Ja
- 下一篇: H7-TOOL | 以太网 - 动态IP