如何控制手動inline

2021-04-23 07:06:58 字數 649 閱讀 4034

purpose:

通過巨集_inline_on來控制函式是否inline, 非inline函式有利於在vtune等profiling工具中分析。

1. macros.h

#ifdef _win32

#define _inline_on

#endif

#ifdef _inline_on

#define _inline inline

#else // _inline_on

#define _inline __attribute__((noinline)) // gcc 's attribute.

#endif

2. test.h

#include "macros.h"

#if defined(_inline_on) || defined(_test_cpp)  // _defined(_test_cpp) 保證只會有乙份definition

_inline func() {

_inline func2() {

#endif //if defined(_inline_on) || defined(_test_cpp)

3. test.cpp

#define _test_cpp

#include "test.h"

手動控制事務

1 事務簡單介紹 1 事務 transaction 是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可切割的工作單位。通過事務,sql server能將邏輯相關的一組操作繫結在一起,以便server保持資料的完整性。2 事務一般是以begin transactio...

手動控制ibatis事務

前段時間做乙個老專案的開發,系統架構為struts spirng ibatis。由於業務需要,在系統中增加了h2資料庫,需要對h2的操作進行事務控制。原來系統中的資料庫是oracle資料庫,這樣加系統原來的資料庫,就有了兩個資料來源。原專案中是通過spring的ransactionproxyfact...

OGRE手動控制骨骼動畫

在ogre中,動畫主要有骨骼動畫,變形動畫,姿態動畫。在我們使用骨骼動畫的時候,通常是在maya 3dmax等動畫軟體中做的動畫,讓其存入.skeleton檔案中,然後在程式中匯入這段動畫。我們還可以手動控制每段骨骼的動作 範例 用ogre的嚮導程式生成乙個sample 1 首先,新增全域性變數 b...