彩票类App现在上市场越来越困难,应该怎么样进行推广( 四 )


See the License for the specific language governing permissions and
limitations under the License.
***/

#include \u0026lt;stdio.h\u0026gt;
#include \u0026lt;stdint.h\u0026gt;
#include "trace_defs.h"
#include "trace_metadata_util.h"

static int relocate_ptr(intptr_t original_base_address, intptr_t new_base_address, intptr_t *ptr)
{
(*ptr) -= original_base_address;
(*ptr) += new_base_address;

return 0;
}

static void relocate_descriptor_parameters(void *old_base, void *new_base, struct trace_log_descriptor *descriptor)
{
struct trace_param_descriptor *param;
param = descriptor-\u0026gt;params;

while (param-\u0026gt;flags != 0) {

if (param-\u0026gt;str) {
relocate_ptr((intptr_t) old_base, (intptr_t) new_base, (intptr_t *) \u0026amp;param-\u0026gt;str);
}

if (param-\u0026gt;param_name) {
relocate_ptr((intptr_t) old_base, (intptr_t) new_base, (intptr_t *) \u0026amp;param-\u0026gt;param_name);
}

param++;
}
}

static void relocate_type_definition_params(void *old_base, void *new_base, struct trace_type_definition *type)
{
struct trace_enum_value *param;
param = type-\u0026gt;enum_values;
while (param-\u0026gt;name != NULL) {
relocate_ptr((intptr_t) old_base, (intptr_t) new_base, (intptr_t *) \u0026amp;param-\u0026gt;name);
param++;
}
}

void relocate_metadata(void *original_base_address, void *new_base_address, char *data, unsigned int descriptor_count, unsigned int type_count)
{
unsigned int i;

struct trace_log_descriptor *log_descriptors = (struct trace_log_descriptor *) data;
struct trace_type_definition *type_definitions = (struct trace_type_definition *) (data + (sizeof(struct trace_log_descriptor) * descriptor_count));

for (i = 0; i \u0026lt; descriptor_count; i++) {
relocate_ptr((intptr_t)original_base_address, (intptr_t)new_base_address, (intptr_t *) \u0026amp;log_descriptors.params);
relocate_descriptor_parameters(original_base_address, new_base_address, \u0026amp;log_descriptors);
}

for (i = 0; i \u0026lt; type_count; i++) {
relocate_ptr((intptr_t)original_base_address, (intptr_t)new_base_address, (intptr_t *) \u0026amp;type_definitions.type_name);
relocate_ptr((intptr_t)original_base_address, (intptr_t)new_base_address, (intptr_t *) \u0026amp;type_definitions.params);
relocate_type_definition_params(original_base_address, new_base_address, \u0026amp;type_definitions);
}
}

■网友
推广方式不对吧,推广好了流量暴涨的,私信交流一下

■网友
推广方式有很多,APP固定位,应用市场替换,Jc,信息流,手机通知栏等等,主要找到好的渠道资源,专业的运营推广团队,这样成本转化效果就有了


推荐阅读