小编App*_*lik的帖子

如何将着色器包含为外部文件

有没有办法将此着色器代码作为不带引号的外部vertexShader.js包含在“脚本”标签之间?

var vertCode =
'attribute vec3 coordinates;' +

'void main(void) {' +
' gl_Position = vec4(coordinates, 1.0);' +
'gl_PointSize = 10.0;'+
'}';
Run Code Online (Sandbox Code Playgroud)

shader glsl webgl

6
推荐指数
2
解决办法
2072
查看次数

在 C++ 中为方法调用自动插入括号

如果我想在 C++ 中调用函数/方法,我通常的方法是键入名称的第一个字母并调查 IntelliSense 建议。如果我选择一个,将插入名称,但如果也可以插入括号就太好了。当然,插入符号应该放在新括号的中间。我正在使用 Visual Studio 2015 和 ReSharper。VS 或 R# 中是否有关于此的设置?

例如

std::string s; 
s.em 
Run Code Online (Sandbox Code Playgroud)

使用 IntelliSense 后的结果应该是

std::string s; 
s.empty(_CARET_);
Run Code Online (Sandbox Code Playgroud)

c++ resharper visual-studio visual-studio-2015 visual-studio-2017

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

因子计算在我的C程序中是不正确的?

#include <stdio.h>
#include <conio.h>

int main()
{
  long signed fact=1;

  int c, n ;

  printf("Factorial to be calculated: ");
  scanf("%d", &n);

  for (c = 1; c <= n; c++)
  fact = fact * c;

  printf("Factorial of %d = %ld\n", n, fact);
  getch();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

在上面的C程序中,当我跑步时,我无法得到13!正确.它的输出是真的12.如何解决这个问题?我认为很久没有签名就足够了13.

c factorial

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

为什么两个指针之间有16个字节的区别而不是8个?

#include <stdio.h>

int main() {    
    const char *myarr[7];

    myarr[0] = "1st array";
    myarr[1] = "2nd array";
    myarr[2] = "3rd array";
    myarr[3] = "4th array";
    myarr[4] = "5th array";
    myarr[5] = "5";
    myarr[6] = "6";

    printf("\n%p", myarr[0]);   /*00007FF749919C18*/
    printf("\n%p", myarr[1]);   /*00007FF7B3C89C28*/

    printf("\n%p", myarr[5]);   /*00007FF749919C14*/
    printf("\n%p", myarr[6]);   /*00007FF7B3C89C24*/
}
Run Code Online (Sandbox Code Playgroud)

当我在上面的代码中打印它们的值时,我评论了地址.存储在第0个和第1个索引指针内的地址之间的差异是16个字节.

我首先想到的是,因为我分配它们的字符串是9个字符,所以超过8个字节,它不适合8字节块,所以它扩展到16个字节.所以为了检查这一点,我指出了第5和第6个索引中的短字符串,但正如您所看到的那样,它们之间的地址仍然有16个字节的差异.

由于我有一个64位系统,地址第5和第6指针之间的差异应该是8字节吗?

c pointers

2
推荐指数
1
解决办法
126
查看次数

如何打印换行符ASCII?

尝试\n用下面的代码打印出十进制等值(换行符).当它执行时我按下回车键Ctrl+ + Z但屏幕上没有打印任何内容.我希望打印10张.我错过了什么?

#include <stdio.h>
int main()
{
    char ch;

    while ((ch = getchar() != EOF))
    {
        if (ch == '\n')
        {
            printf("\\n=%d\n", ch);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c ascii

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