小编Fab*_*cio的帖子

字符串引用是否重复?

可能重复:
C/C++:优化指向字符串常量的指针

假设您"example"在很多地方定义了一个字符串

// module1.h
char *x = "example";
// module2.h
char *a[] = { "text", "example" };
// module3.c
printf("example");
//etc.
Run Code Online (Sandbox Code Playgroud)

这些数据是否会重复,或者编译器只会对它进行一次引用?

c string optimization gcc

5
推荐指数
1
解决办法
110
查看次数

zuul.ignoredHeaders 和 zuul.sensitiveHeaders 有什么区别

我阅读了文档,但仍然不确定这两个属性之间的区别:

zuul:
  ignored-headers: 
  sensitive-headers:
Run Code Online (Sandbox Code Playgroud)

如果您能用其他词来解释它,将不胜感激。

spring-boot netflix-zuul spring-cloud-netflix

5
推荐指数
1
解决办法
5847
查看次数

指针值*x&x和x

假设这段代码:

main()
{
    int *x;
    *x = 3;

    printf("%d %d %d\n", *x, &x, x);
    // output 3 5448392 2293524
}
Run Code Online (Sandbox Code Playgroud)

如果*x是价值; &x地址; 什么意味着价值x?

c pointers

4
推荐指数
2
解决办法
2万
查看次数

是否可以检查变量是否为struct类型?

假设我有以下结构:

struct A{
    int a;
} a;

struct B{
    A a;
    int b;
} b;
Run Code Online (Sandbox Code Playgroud)

如何检查是否b是类型B或b类型A?

c

4
推荐指数
1
解决办法
3553
查看次数

是否在字符串结束后使用零/ null初始化char数组,此时还有剩余空间?

考虑以下char数组:

char str[128] = "abcd";
Run Code Online (Sandbox Code Playgroud)

是否所有剩余的未初始化的字符在数组的其余部分(从)str[4]到str[127]零/空填充?

c string

4
推荐指数
1
解决办法
1286
查看次数

在OpenGL中构建网格

我正在做一些OpenGL(2.1)测试,在尝试制作一个简单的立方体时,我想知道如何制作复杂的网格物体.对于我的立方体,我只是设置每个顶点GL_TRIANGLES.但我不知道如何在循环中做同样的事情.由于顶点的顺序,因为有很多重复的顶点!

我真的必须通过设置3个顶点"一次"(两个三角形)来制作一个面孔?这似乎很慢.如何优化?

在此输入图像描述

制作/加载网格的技巧是什么?

哦,我会很感激一些例子.

c c++ opengl algorithm mesh

4
推荐指数
1
解决办法
6754
查看次数

发布时,不会复制Web.Release.config中connectionStrings的内容

我有一个connectionString Web.Debug.config,另一个是不同的Web.Release.config.

当我发布我的项目时,内容Web.Release.config不会出现在已Web.config发布的内容中.为什么?

Web.config文件

<configuration>
    <connectionStrings>
        <!-- <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-SalvaVidas-20130610104655;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-SalvaVidas-20130610104655.mdf" /> -->
    </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

Web.Debug.config

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <connectionStrings>
        <add name="MyContext"
             providerName="System.Data.SqlClient"
             connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyDb.mdf" />
    </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

Web.Release.config

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <connectionStrings>
        <add name="MyContext"
             providerName="System.Data.SqlClient"
             connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MyDb;Server=ServerName;Database=MyDb;Trusted_Connection=True;Integrated Security=SSPI;" />
    </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc connection-string asp.net-mvc-4

4
推荐指数
1
解决办法
3834
查看次数

如何获得一份清单?

我有一个列表[1..12],我想得到一个像[4..9].不知道我怎么能这样做,我是F#的新手.我不知道是否有内置方法,但我想知道手动方式.

f#

4
推荐指数
1
解决办法
163
查看次数

错误:不允许不完整的类型

在.h 中:

typedef struct token_t TOKEN;
Run Code Online (Sandbox Code Playgroud)

在.c 中:

#include "token.h"

struct token_t
{
    char* start;
    int length;
    int type;
};
Run Code Online (Sandbox Code Playgroud)

在main.c 中:

#include "token.h"

int main ()
{
    TOKEN* tokens; // here: ok
    TOKEN token;   // here: Error: incomplete type is not allowed
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我在最后一行中得到的错误:

错误:不允许不完整的类型

怎么了?

c struct typedef declaration incomplete-type

4
推荐指数
2
解决办法
2万
查看次数

分析树或表达式树

我正在做一个命令行计算器,所以我需要解析表达式.

calc 2*(3+4)*5
Run Code Online (Sandbox Code Playgroud)

我已完成扫描仪步骤,返回令牌的数组.现在我正处于解析器步骤.但是我不清楚如何做一个解析器/表达式树.

这就是我到目前为止所做的一切:

NODE* create_node(TOKEN* t) {
    NODE* n = (NODE*)malloc(sizeof(NODE));
    n->t = t;
    n->l = n->r = 0;
    return n;
}

void insert_node(NODE** top, NODE** n) {
    if (!*top) {
        *top = *n;
        return;
    }

    if (!(*top)->l) insert_node(&(*top)->l, n);
    else
    if (!(*top)->r) insert_node(&(*top)->r, n);
    else
        insert_node(&(*top)->l, n);
}
Run Code Online (Sandbox Code Playgroud)

然后我传递令牌数组,如:

while (*tokens != 0) {
    NODE* n = create_node(*tokens++);
    insert_node(&root, &n);
}
Run Code Online (Sandbox Code Playgroud)

你可以看到我的树只向左抬起.我不知道如何通过顶部的操作员和数字作为叶子(包括运算符优先顺序)进行排序.

我会很感激启发,也喜欢编程(代码)术语.

c parsing expression-trees

3
推荐指数
1
解决办法
4924
查看次数