我想将.c文件编译为.so(共享库).我不明白为什么,我有makefile让我出错:
LIB = libmy.so
SRC = lib.c
CC = gcc
OBJ = $(CC) -c -fPIC $(SRC)
all: $(LIB)
re: fclean all
$(LIB): $(OBJ)
$(CC) -shared -fPIC $(OBJ) -o $(LIB)
clean:
$(RM) $(OBJ)
fclean: clean
$(RM) $(LIB)
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
这是我到目前为止:
Rectangle::Rectangle(int x, int y)
{
sizeX_ = x * CASE;
sizeY_ = y * CASE;
texture_ = gdl::Image::load("./ressources/floor.jpg");
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
}
void Rectangle::draw()
{
texture_.bind();
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(0.0f, 0.0f, 0.0f);
glTexCoord2f(sizeX_ / CASE, 0.0f);
glVertex3f(sizeX_, 0.0f, 0.0f);
glTexCoord2f(0.0f, sizeY_ / CASE);
glVertex3f(sizeX_, 0.0f, sizeY_);
glTexCoord2f(sizeX_ / CASE, sizeY_ / CASE);
glVertex3f(0.0f, 0.0f, sizeY_);
glEnd();
}
Run Code Online (Sandbox Code Playgroud)
构造函数在案例中采用地图的大小.例如:(10, 10).而真正的大小将在(10 * CASE)哪里CASE = 400.
但这并没有正确重复纹理.纹理似乎减少(好点)并从左上角点到右下角点.
难道我做错了什么 ?
我没有Apple电脑,我只有一部iPhone和一些关于语言发展的知识.我想创建自己的应用程序供我自己使用,只是为了好玩!我不想向开发人员帐户支付Apple费用.我只想开发我的应用程序并将其放在我的iPhone上.我可以在Linux或Windows上开发.我怎样才能做到这一点?
为什么在下面的代码中,第二个foo()不会被调用?
function foo() {
console.log("--- entering foo ---")
return new Promise(() => {
setTimeout(() => {
console.log("--- resolved ---")
}, 2000)
})
}
async function bar() {
await foo()
foo() // not called
}
bar()Run Code Online (Sandbox Code Playgroud)
澄清我做过的一些试验:
foo()
foo()
Run Code Online (Sandbox Code Playgroud)
foo()
await foo()
Run Code Online (Sandbox Code Playgroud)
await foo()
foo() // not called
Run Code Online (Sandbox Code Playgroud)
await foo()
await foo() // not called
Run Code Online (Sandbox Code Playgroud)