c语言longjump
时间: 2024-06-16 09:06:10 浏览: 3
longjmp是C语言中的一个函数,用于实现非局部跳转。它可以将程序的控制流程直接跳转到之前通过setjmp函数设置的位置。具体来说,setjmp函数会保存当前的程序状态,并返回一个非零值,而longjmp函数则会根据之前保存的状态将程序跳转到相应的位置。
使用longjmp函数需要配合setjmp函数使用。setjmp函数用于设置一个跳转点,并保存当前的程序状态。而longjmp函数则用于在任意位置跳转到之前设置的跳转点。
下面是一个简单的示例代码,演示了如何使用setjmp和longjmp函数:
```c
#include <stdio.h>
#include <setjmp.h>
jmp_buf jump_buffer;
void foo() {
printf("foo\n");
longjmp(jump_buffer, 1);
}
int main() {
if (setjmp(jump_buffer) == 0) {
printf("main\n");
foo();
} else {
printf("back in main\n");
}
return 0;
}
```
在上面的代码中,首先在main函数中通过setjmp函数设置了一个跳转点,并将其保存在jump_buffer变量中。然后在foo函数中调用了longjmp函数,将程序跳转回到之前设置的跳转点。最后,根据setjmp函数的返回值判断程序是第一次执行还是通过longjmp跳转回来的。
相关问题
那把所有cs的kz身法说出来吧
这个问题有点难度,因为不同的玩家可能会有不同的看法和定义。但是我会尽力列出一些常见的KZ身法:
1. Bhop:利用跳跃和滑翔来保持速度,通常用于跨越长距离。在Counter-Strike中,Bhop通常是指使用空格键来跳跃,然后利用空气阻力和重力来保持速度。
2. Longjump:长跳是用来跨越更长距离的技巧。在Counter-Strike中,长跳可以通过在跳跃前按住Shift键,跳跃时释放Shift键并同时按住跳跃键和前进键来实现。
3. Strafejump:横跳是一种利用移动方向和跳跃来保持速度的技巧。在Counter-Strike中,横跳可以通过在跳跃时侧向移动并同时用鼠标来调整方向和角度。
4. Surf:冲浪是一种在斜坡上滑行来保持速度的技巧。在Counter-Strike中,冲浪通常需要在特定的地图上进行,玩家需要利用跳跃和滑翔来保持速度和控制方向。
5. KZ Climb:KZ攀爬是一种利用跳跃和爬升来攀爬墙壁和障碍物的技巧。在Counter-Strike中,KZ攀爬需要在特定的地图上进行,并需要精确的跳跃和爬升技巧来完成。
以上只是一些常见的KZ身法,实际上还有很多其他的技巧和身法。需要不断地练习和尝试才能掌握。
ucf101每个分类的样本个数
UCF101是一个动作识别数据集,包含101个不同的动作类别。每个类别有不同数量的样本,具体数目如下:
1. ApplyEyeMakeup: 145
2. ApplyLipstick: 114
3. Archery: 145
4. BabyCrawling: 132
5. BalanceBeam: 134
6. BandMarching: 167
7. BaseballPitch: 150
8. Basketball: 134
9. BasketballDunk: 137
10. BenchPress: 148
11. Biking: 150
12. Billiards: 145
13. BlowDryHair: 123
14. BlowingCandles: 100
15. BodyWeightSquats: 175
16. Bowling: 146
17. BoxJump: 131
18. BoxingPunchingBag: 147
19. BoxingSpeedBag: 148
20. BreastStroke: 148
21. BrushingTeeth: 146
22. CleanAndJerk: 151
23. CliffDiving: 141
24. CricketBowling: 145
25. CricketShot: 150
26. CuttingInKitchen: 150
27. Diving: 147
28. Drumming: 166
29. Fencing: 145
30. FieldHockeyPenalty: 156
31. FloorGymnastics: 173
32. FrisbeeCatch: 143
33. FrontCrawl: 156
34. GolfSwing: 166
35. Haircut: 139
36. HammerThrow: 139
37. HandstandPushups: 137
38. HandstandWalking: 166
39. HeadMassage: 144
40. HighJump: 145
41. HorseRace: 155
42. HorseRiding: 150
43. HulaHoop: 140
44. IceDancing: 147
45. JavelinThrow: 148
46. JugglingBalls: 166
47. JumpingJack: 151
48. JumpRope: 154
49. Kayaking: 116
50. Knitting: 100
51. LongJump: 140
52. Lunges: 146
53. MilitaryParade: 138
54. Mixing: 147
55. MoppingFloor: 151
56. Nunchucks: 118
57. ParallelBars: 149
58. PizzaTossing: 100
59. PlayingCello: 150
60. PlayingDaf: 100
61. PlayingDhol: 100
62. PlayingFlute: 149
63. PlayingGuitar: 147
64. PlayingPiano: 150
65. PlayingSitar: 100
66. PlayingTabla: 100
67. PlayingViolin: 148
68. PoleVault: 145
69. PommelHorse: 145
70. PullUps: 150
71. Punch: 150
72. PushUps: 150
73. Rafting: 100
74. RockClimbingIndoor: 155
75. RopeClimbing: 141
76. Rowing: 150
77. SalsaSpin: 150
78. ShavingBeard: 144
79. Shotput: 146
80. SkateBoarding: 144
81. Skiing: 146
82. Skijet: 100
83. SkyDiving: 144
84. SoccerJuggling: 133
85. SoccerPenalty: 152
86. StillRings: 145
87. SumoWrestling: 145
88. Surfing: 147
89. Swing: 150
90. TableTennisShot: 145
91. TaiChi: 106
92. TennisSwing: 145
93. ThrowDiscus: 145
94. TrampolineJumping: 145
95. Typing: 144
96. UnevenBars: 144
97. VolleyballSpiking: 149
98. WalkingWithDog: 152
99. WallPushups: 145
100. WeightedSquat: 147
101. Windsurfing: 143