给出以下代码
#include <stdio.h>
int main(int argc, char **argv)
{
int k = 0;
for( k = 0; k < 20; ++k )
{
printf( "%d\n", k ) ;
}
}
Run Code Online (Sandbox Code Playgroud)
使用GCC 5.1或更高版本
-x c -std=c99 -O3 -funroll-all-loops --param max-completely-peeled-insns=1000 --param max-completely-peel-times=10000
Run Code Online (Sandbox Code Playgroud)
部分循环展开,它将循环展开十次然后进行条件跳转.
.LC0:
.string "%d\n"
main:
pushq %rbx
xorl %ebx, %ebx
.L2:
movl %ebx, %esi
movl $.LC0, %edi
xorl %eax, %eax
call printf
leal 1(%rbx), %esi
movl $.LC0, %edi
xorl %eax, %eax
call printf
leal 2(%rbx), %esi
movl $.LC0, %edi …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Google Drive 上备份我的 Android 应用程序的应用程序数据。因此,我请求使用 google_sign_in 包访问https://www.googleapis.com/auth/drive.appdata、https://www.googleapis.com/auth/drive.file范围。
我在 Google 开发者控制台上创建了一个项目,启用了 Drive API,并将范围添加到 OAuth 同意屏幕,并添加了包含包名称和调试密钥的 SHA-1 的 OAuth 客户端 ID。
如果我不请求任何范围,该应用程序工作正常,但请求“驱动”范围会使同意屏幕卡住并且永远加载。我有什么遗漏的吗?
import 'package:flutter/material.dart';
import 'package:google_sign_in/google_sign_in.dart';
Future<GoogleSignInAccount> handleSignIn() async {
try {
return await GoogleSignIn(
scopes: [
'https://www.googleapis.com/auth/drive.appdata',
'https://www.googleapis.com/auth/drive.file',
],
).signIn();
} catch (error) {
print(error);
return null;
}
}
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: …Run Code Online (Sandbox Code Playgroud)