在调试我的系统时,我发现我使用的所有着色器都没有编译过.所有的GLSL课程都很愉快地联系起来并且像魅力一样工作.
我在整个代码库中搜索了调用glCompileShader,但没有找到.
我的问题是:这是我正在使用的实现的特定行为吗?链接程序时是否隐式执行着色器编译?它是可选的吗?如果是这种情况,那么除了检索错误日志之外,还有哪些明显的优势呢?
我在文档中找不到像我这样的任何案例,如果我错过了什么,请指点我吗?
我的供应商是NVIDIA(驱动程序337.88)
编辑:此外,我不是在使用glCreateShaderProgram(),而只是glCreateProgram()为了创建着色器程序.
我正在使用SpriteKit(使用Xcode 6和Swift)并且我在屏幕上有一个角色,我在屏幕操纵杆上移动,我想在他身后跟随一条小路.我怎么做?

我的图像需要多大,它需要看起来像什么?我还会在代码中使用什么?
我要找到一个名为'A'的目录,然后启动一个名为'B'的可执行文件,其中包含一个路径作为参数,并且有一行带有execl():
execl("./C","C",path,(char*)0);
perror("Exec failed");
Run Code Online (Sandbox Code Playgroud)
其中C在'A'中并且设置了suid位.
.我想到了类似的东西:
find -name A -execdir {}/B path \
Run Code Online (Sandbox Code Playgroud)
但是我得到的是:
Exec failed: Permission denied
Run Code Online (Sandbox Code Playgroud)
怎么了 ?从A发射B给我没有错误.
对不起,如果这是一个愚蠢的问题,我是bash脚本的新手.感谢任何帮助,非常感谢.
首先抱歉,如果这是一个愚蠢的问题(肯定是这样),但我真的很擅长在Unix中使用Syscall.我试图用"写"在文件上写东西; 它正确地创建了文件,但没有写任何内容,这就是代码:
int main(void) {
int fd;
char *string = "Test";
if(fd=open("home/user/test.txt", O_WRONLY | O_APPEND | O_CREAT)==-1){
perror("Open failed");
}
printf("%d\n", strlen(string));
printf("Wrote %d byte on the file", write(fd,string,strlen(string)));
close(fd);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
哪里是我的问题?谢谢